No functional change. Code clean up. Removing error code which is not
valid scenario.
In megasas_get_request_descriptor we can remove the error handling
which is not required.
With fusion controllers, if there is a valid message frame available,
we are guaranteed to get a corresponding request descriptor.

Signed-off-by: Shivasharan S <shivasharan.srikanteshw...@broadcom.com>
Signed-off-by: Kashyap Desai <kashyap.de...@broadcom.com>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Reviewed-by: Tomas Henzl <the...@redhat.com>
---

Changes in v2 - split patches into two. 
discussed below 
http://marc.info/?l=linux-scsi&m=148638999110404&w=2

 drivers/scsi/megaraid/megaraid_sas_fusion.c | 24 ++----------------------
 1 file changed, 2 insertions(+), 22 deletions(-)

diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c 
b/drivers/scsi/megaraid/megaraid_sas_fusion.c
index 6ec7a18..b6c5dc5 100644
--- a/drivers/scsi/megaraid/megaraid_sas_fusion.c
+++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c
@@ -2438,18 +2438,12 @@ megasas_build_io_fusion(struct megasas_instance 
*instance,
        return 0;
 }
 
-union MEGASAS_REQUEST_DESCRIPTOR_UNION *
+static union MEGASAS_REQUEST_DESCRIPTOR_UNION *
 megasas_get_request_descriptor(struct megasas_instance *instance, u16 index)
 {
        u8 *p;
        struct fusion_context *fusion;
 
-       if (index >= instance->max_mpt_cmds) {
-               dev_err(&instance->pdev->dev, "Invalid SMID (0x%x)request for "
-                      "descriptor for scsi%d\n", index,
-                       instance->host->host_no);
-               return NULL;
-       }
        fusion = instance->ctrl_context;
        p = fusion->req_frames_desc +
                sizeof(union MEGASAS_REQUEST_DESCRIPTOR_UNION) * index;
@@ -2960,7 +2954,7 @@ build_mpt_mfi_pass_thru(struct megasas_instance *instance,
 union MEGASAS_REQUEST_DESCRIPTOR_UNION *
 build_mpt_cmd(struct megasas_instance *instance, struct megasas_cmd *cmd)
 {
-       union MEGASAS_REQUEST_DESCRIPTOR_UNION *req_desc;
+       union MEGASAS_REQUEST_DESCRIPTOR_UNION *req_desc = NULL;
        u16 index;
 
        if (build_mpt_mfi_pass_thru(instance, cmd)) {
@@ -2972,9 +2966,6 @@ build_mpt_cmd(struct megasas_instance *instance, struct 
megasas_cmd *cmd)
 
        req_desc = megasas_get_request_descriptor(instance, index - 1);
 
-       if (!req_desc)
-               return NULL;
-
        req_desc->Words = 0;
        req_desc->SCSIIO.RequestFlags = (MPI2_REQ_DESCRIPT_FLAGS_SCSI_IO <<
                                         MEGASAS_REQ_DESCRIPT_FLAGS_TYPE_SHIFT);
@@ -2997,11 +2988,6 @@ megasas_issue_dcmd_fusion(struct megasas_instance 
*instance,
        union MEGASAS_REQUEST_DESCRIPTOR_UNION *req_desc;
 
        req_desc = build_mpt_cmd(instance, cmd);
-       if (!req_desc) {
-               dev_info(&instance->pdev->dev, "Failed from %s %d\n",
-                                       __func__, __LINE__);
-               return DCMD_NOT_FIRED;
-       }
 
        megasas_fire_cmd_fusion(instance, req_desc);
        return DCMD_SUCCESS;
@@ -3438,12 +3424,6 @@ megasas_issue_tm(struct megasas_instance *instance, u16 
device_handle,
 
        req_desc = megasas_get_request_descriptor(instance,
                        (cmd_fusion->index - 1));
-       if (!req_desc) {
-               dev_err(&instance->pdev->dev, "Failed from %s %d\n",
-                       __func__, __LINE__);
-               megasas_return_cmd(instance, cmd_mfi);
-               return -ENOMEM;
-       }
 
        cmd_fusion->request_desc = req_desc;
        req_desc->Words = 0;
-- 
2.8.3

Reply via email to