]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
[SCSI] qla2xxx: Parameterize the link speed of hba rather than fcport.
authorJoe Carnuccio <joe.carnuccio@qlogic.com>
Wed, 21 Nov 2012 07:40:40 +0000 (02:40 -0500)
committerJames Bottomley <JBottomley@Parallels.com>
Fri, 30 Nov 2012 15:14:48 +0000 (15:14 +0000)
Parameterize qla2x00_get_link_speed_str() to be generic on link speed.

Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/qla2xxx/qla_gbl.h
drivers/scsi/qla2xxx/qla_init.c
drivers/scsi/qla2xxx/qla_isr.c

index dfad9595be56bf6c8a67ba54ab29ae01eeeedf92..2411d1a12b26d5b86640ca55c7967357bb699807 100644 (file)
@@ -416,7 +416,7 @@ extern int qla2x00_request_irqs(struct qla_hw_data *, struct rsp_que *);
 extern void qla2x00_free_irqs(scsi_qla_host_t *);
 
 extern int qla2x00_get_data_rate(scsi_qla_host_t *);
-extern char *qla2x00_get_link_speed_str(struct qla_hw_data *);
+extern const char *qla2x00_get_link_speed_str(struct qla_hw_data *, uint16_t);
 
 /*
  * Global Function Prototypes in qla_sup.c source file.
index 1b5f40d0a2a116d641f84060977256375e7399fa..563eee3fa9243dc3cc411f65f8895d805565a36a 100644 (file)
@@ -2983,7 +2983,6 @@ cleanup_allocation:
 static void
 qla2x00_iidma_fcport(scsi_qla_host_t *vha, fc_port_t *fcport)
 {
-       char *link_speed;
        int rval;
        uint16_t mb[4];
        struct qla_hw_data *ha = vha->hw;
@@ -3010,10 +3009,10 @@ qla2x00_iidma_fcport(scsi_qla_host_t *vha, fc_port_t *fcport)
                    fcport->port_name[6], fcport->port_name[7], rval,
                    fcport->fp_speed, mb[0], mb[1]);
        } else {
-               link_speed = qla2x00_get_link_speed_str(ha);
                ql_dbg(ql_dbg_disc, vha, 0x2005,
                    "iIDMA adjusted to %s GB/s "
-                   "on %02x%02x%02x%02x%02x%02x%02x%02x.\n", link_speed,
+                   "on %02x%02x%02x%02x%02x%02x%02x%02x.\n",
+                   qla2x00_get_link_speed_str(ha, fcport->fp_speed),
                    fcport->port_name[0], fcport->port_name[1],
                    fcport->port_name[2], fcport->port_name[3],
                    fcport->port_name[4], fcport->port_name[5],
index bb611e21b3011bae35f2256d36d37278b4085abf..e43b4d5d923be62e085046dcb24df04ece76ff51 100644 (file)
@@ -316,25 +316,21 @@ qla81xx_idc_event(scsi_qla_host_t *vha, uint16_t aen, uint16_t descr)
 }
 
 #define LS_UNKNOWN     2
-char *
-qla2x00_get_link_speed_str(struct qla_hw_data *ha)
+const char *
+qla2x00_get_link_speed_str(struct qla_hw_data *ha, uint16_t speed)
 {
-       static char *link_speeds[] = {"1", "2", "?", "4", "8", "16", "10"};
-       char *link_speed;
-       int fw_speed = ha->link_data_rate;
+       static const char * const link_speeds[] = {
+               "1", "2", "?", "4", "8", "16", "10"
+       };
 
        if (IS_QLA2100(ha) || IS_QLA2200(ha))
-               link_speed = link_speeds[0];
-       else if (fw_speed == 0x13)
-               link_speed = link_speeds[6];
-       else {
-               link_speed = link_speeds[LS_UNKNOWN];
-               if (fw_speed < 6)
-                       link_speed =
-                           link_speeds[fw_speed];
-       }
-
-       return link_speed;
+               return link_speeds[0];
+       else if (speed == 0x13)
+               return link_speeds[6];
+       else if (speed < 6)
+               return link_speeds[speed];
+       else
+               return link_speeds[LS_UNKNOWN];
 }
 
 static void
@@ -671,7 +667,7 @@ skip_rio:
 
                ql_dbg(ql_dbg_async, vha, 0x500a,
                    "LOOP UP detected (%s Gbps).\n",
-                   qla2x00_get_link_speed_str(ha));
+                   qla2x00_get_link_speed_str(ha, ha->link_data_rate));
 
                vha->flags.management_server_logged_in = 0;
                qla2x00_post_aen_work(vha, FCH_EVT_LINKUP, ha->link_data_rate);
@@ -860,7 +856,7 @@ skip_rio:
                    mb[1], mb[2], mb[3]);
                ql_log(ql_log_warn, vha, 0x505f,
                    "Link is operational (%s Gbps).\n",
-                   qla2x00_get_link_speed_str(ha));
+                   qla2x00_get_link_speed_str(ha, ha->link_data_rate));
 
                /*
                 * Mark all devices as missing so we will login again.