|
@@ -5581,6 +5581,7 @@ megasas_get_seq_num(struct megasas_instance *instance,
|
|
|
struct megasas_dcmd_frame *dcmd;
|
|
|
struct megasas_evt_log_info *el_info;
|
|
|
dma_addr_t el_info_h = 0;
|
|
|
+ int ret;
|
|
|
|
|
|
cmd = megasas_get_cmd(instance);
|
|
|
|
|
@@ -5613,26 +5614,29 @@ megasas_get_seq_num(struct megasas_instance *instance,
|
|
|
megasas_set_dma_settings(instance, dcmd, el_info_h,
|
|
|
sizeof(struct megasas_evt_log_info));
|
|
|
|
|
|
- if (megasas_issue_blocked_cmd(instance, cmd, MFI_IO_TIMEOUT_SECS) ==
|
|
|
- DCMD_SUCCESS) {
|
|
|
- /*
|
|
|
- * Copy the data back into callers buffer
|
|
|
- */
|
|
|
- eli->newest_seq_num = el_info->newest_seq_num;
|
|
|
- eli->oldest_seq_num = el_info->oldest_seq_num;
|
|
|
- eli->clear_seq_num = el_info->clear_seq_num;
|
|
|
- eli->shutdown_seq_num = el_info->shutdown_seq_num;
|
|
|
- eli->boot_seq_num = el_info->boot_seq_num;
|
|
|
- } else
|
|
|
- dev_err(&instance->pdev->dev, "DCMD failed "
|
|
|
- "from %s\n", __func__);
|
|
|
+ ret = megasas_issue_blocked_cmd(instance, cmd, MFI_IO_TIMEOUT_SECS);
|
|
|
+ if (ret != DCMD_SUCCESS) {
|
|
|
+ dev_err(&instance->pdev->dev, "Failed from %s %d\n",
|
|
|
+ __func__, __LINE__);
|
|
|
+ goto dcmd_failed;
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Copy the data back into callers buffer
|
|
|
+ */
|
|
|
+ eli->newest_seq_num = el_info->newest_seq_num;
|
|
|
+ eli->oldest_seq_num = el_info->oldest_seq_num;
|
|
|
+ eli->clear_seq_num = el_info->clear_seq_num;
|
|
|
+ eli->shutdown_seq_num = el_info->shutdown_seq_num;
|
|
|
+ eli->boot_seq_num = el_info->boot_seq_num;
|
|
|
|
|
|
+dcmd_failed:
|
|
|
pci_free_consistent(instance->pdev, sizeof(struct megasas_evt_log_info),
|
|
|
el_info, el_info_h);
|
|
|
|
|
|
megasas_return_cmd(instance, cmd);
|
|
|
|
|
|
- return 0;
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
/**
|