summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aacraid
diff options
context:
space:
mode:
authorRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>2017-12-26 20:34:35 -0800
committerMartin K. Petersen <martin.petersen@oracle.com>2018-01-03 23:26:42 -0500
commita25b6ca1a9225610671cb850432eade5e057edc1 (patch)
tree5c7b869d66ffa5d8d5dce2d2e8b4d5149b2d34e4 /drivers/scsi/aacraid
parent3edfb8b2e20b30456359718805bea052bf1b0895 (diff)
downloadlinux-a25b6ca1a9225610671cb850432eade5e057edc1.tar.bz2
scsi: aacraid: Move function around to match existing code
Move the function to get phy luns information to the top of function to set target information Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/aacraid')
-rw-r--r--drivers/scsi/aacraid/aachba.c112
1 files changed, 56 insertions, 56 deletions
diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c
index 629a04d90e5c..43a3c1192282 100644
--- a/drivers/scsi/aacraid/aachba.c
+++ b/drivers/scsi/aacraid/aachba.c
@@ -1791,6 +1791,62 @@ out:
return rcode;
}
+static inline void aac_free_safw_ciss_luns(struct aac_dev *dev)
+{
+ kfree(dev->safw_phys_luns);
+ dev->safw_phys_luns = NULL;
+}
+
+/**
+ * aac_get_safw_ciss_luns() Process topology change
+ * @dev: aac_dev structure
+ * @rescan: Indicates rescan
+ *
+ * Execute a CISS REPORT PHYS LUNS and process the results into
+ * the current hba_map.
+ */
+static int aac_get_safw_ciss_luns(struct aac_dev *dev, int rescan)
+{
+ int rcode = -ENOMEM;
+ int datasize;
+ struct aac_srb *srbcmd;
+ struct aac_srb_unit srbu;
+ struct aac_ciss_phys_luns_resp *phys_luns;
+
+ datasize = sizeof(struct aac_ciss_phys_luns_resp) +
+ (AAC_MAX_TARGETS - 1) * sizeof(struct _ciss_lun);
+ phys_luns = kmalloc(datasize, GFP_KERNEL);
+ if (phys_luns == NULL)
+ goto out;
+
+ memset(&srbu, 0, sizeof(struct aac_srb_unit));
+
+ srbcmd = &srbu.srb;
+ srbcmd->flags = cpu_to_le32(SRB_DataIn);
+ srbcmd->cdb[0] = CISS_REPORT_PHYSICAL_LUNS;
+ srbcmd->cdb[1] = 2; /* extended reporting */
+ srbcmd->cdb[8] = (u8)(datasize >> 8);
+ srbcmd->cdb[9] = (u8)(datasize);
+
+ rcode = aac_send_safw_bmic_cmd(dev, &srbu, phys_luns, datasize);
+ if (unlikely(rcode < 0))
+ goto mem_free_all;
+
+ if (phys_luns->resp_flag != 2) {
+ rcode = -ENOMSG;
+ goto mem_free_all;
+ }
+
+ dev->safw_phys_luns = phys_luns;
+
+out:
+ return rcode;
+mem_free_all:
+ kfree(phys_luns);
+ goto out;
+
+}
+
/**
* aac_set_safw_attr_all_targets- update current hba map with data from FW
* @dev: aac_dev structure
@@ -1854,62 +1910,6 @@ update_devtype:
}
}
-static inline void aac_free_safw_ciss_luns(struct aac_dev *dev)
-{
- kfree(dev->safw_phys_luns);
- dev->safw_phys_luns = NULL;
-}
-
-/**
- * aac_get_safw_ciss_luns() Process topology change
- * @dev: aac_dev structure
- * @rescan: Indicates rescan
- *
- * Execute a CISS REPORT PHYS LUNS and process the results into
- * the current hba_map.
- */
-static int aac_get_safw_ciss_luns(struct aac_dev *dev, int rescan)
-{
- int rcode = -ENOMEM;
- int datasize;
- struct aac_srb *srbcmd;
- struct aac_srb_unit srbu;
- struct aac_ciss_phys_luns_resp *phys_luns;
-
- datasize = sizeof(struct aac_ciss_phys_luns_resp) +
- (AAC_MAX_TARGETS - 1) * sizeof(struct _ciss_lun);
- phys_luns = kmalloc(datasize, GFP_KERNEL);
- if (phys_luns == NULL)
- goto out;
-
- memset(&srbu, 0, sizeof(struct aac_srb_unit));
-
- srbcmd = &srbu.srb;
- srbcmd->flags = cpu_to_le32(SRB_DataIn);
- srbcmd->cdb[0] = CISS_REPORT_PHYSICAL_LUNS;
- srbcmd->cdb[1] = 2; /* extended reporting */
- srbcmd->cdb[8] = (u8)(datasize >> 8);
- srbcmd->cdb[9] = (u8)(datasize);
-
- rcode = aac_send_safw_bmic_cmd(dev, &srbu, phys_luns, datasize);
- if (unlikely(rcode < 0))
- goto mem_free_all;
-
- if (phys_luns->resp_flag != 2) {
- rcode = -ENOMSG;
- goto mem_free_all;
- }
-
- dev->safw_phys_luns = phys_luns;
-
-out:
- return rcode;
-mem_free_all:
- kfree(phys_luns);
- goto out;
-
-}
-
static int aac_setup_safw_targets(struct aac_dev *dev, int rescan)
{
int rcode = 0;