]> err.no Git - linux-2.6/commitdiff
[SCSI] qla2xxx: Correct setting of 'current' and 'supported' speeds during FDMI regis...
authorAndrew Vasquez <andrew.vasquez@qlogic.com>
Thu, 19 Jul 2007 22:05:58 +0000 (15:05 -0700)
committerJames Bottomley <jejb@mulgrave.localdomain>
Fri, 20 Jul 2007 14:23:45 +0000 (09:23 -0500)
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/qla2xxx/qla_def.h
drivers/scsi/qla2xxx/qla_gs.c

index d505c0456de37722069de5b5c9e9c8beb86245ee..f98eb6340e1f138f424f483e6360252202260e8a 100644 (file)
@@ -1711,6 +1711,14 @@ struct ct_fdmi_hba_attributes {
 #define FDMI_PORT_OS_DEVICE_NAME       5
 #define FDMI_PORT_HOST_NAME            6
 
+#define FDMI_PORT_SPEED_1GB            0x1
+#define FDMI_PORT_SPEED_2GB            0x2
+#define FDMI_PORT_SPEED_10GB           0x4
+#define FDMI_PORT_SPEED_4GB            0x8
+#define FDMI_PORT_SPEED_8GB            0x10
+#define FDMI_PORT_SPEED_16GB           0x20
+#define FDMI_PORT_SPEED_UNKNOWN                0x8000
+
 struct ct_fdmi_port_attr {
        uint16_t type;
        uint16_t len;
index 9be312331bcc21698baa79d47b392f6bae7251bc..301279a1a4925ff59a38feaf39392db3210fd156 100644 (file)
@@ -1528,11 +1528,15 @@ qla2x00_fdmi_rpa(scsi_qla_host_t *ha)
        eiter->type = __constant_cpu_to_be16(FDMI_PORT_SUPPORT_SPEED);
        eiter->len = __constant_cpu_to_be16(4 + 4);
        if (IS_QLA24XX(ha) || IS_QLA54XX(ha))
-               eiter->a.sup_speed = __constant_cpu_to_be32(4);
+               eiter->a.sup_speed = __constant_cpu_to_be32(
+                   FDMI_PORT_SPEED_1GB|FDMI_PORT_SPEED_2GB|
+                   FDMI_PORT_SPEED_4GB);
        else if (IS_QLA23XX(ha))
-               eiter->a.sup_speed = __constant_cpu_to_be32(2);
+               eiter->a.sup_speed =__constant_cpu_to_be32(
+                   FDMI_PORT_SPEED_1GB|FDMI_PORT_SPEED_2GB);
        else
-               eiter->a.sup_speed = __constant_cpu_to_be32(1);
+               eiter->a.sup_speed = __constant_cpu_to_be32(
+                   FDMI_PORT_SPEED_1GB);
        size += 4 + 4;
 
        DEBUG13(printk("%s(%ld): SUPPORTED_SPEED=%x.\n", __func__, ha->host_no,
@@ -1543,14 +1547,21 @@ qla2x00_fdmi_rpa(scsi_qla_host_t *ha)
        eiter->type = __constant_cpu_to_be16(FDMI_PORT_CURRENT_SPEED);
        eiter->len = __constant_cpu_to_be16(4 + 4);
        switch (ha->link_data_rate) {
-       case 0:
-               eiter->a.cur_speed = __constant_cpu_to_be32(1);
+       case PORT_SPEED_1GB:
+               eiter->a.cur_speed =
+                   __constant_cpu_to_be32(FDMI_PORT_SPEED_1GB);
                break;
-       case 1:
-               eiter->a.cur_speed = __constant_cpu_to_be32(2);
+       case PORT_SPEED_2GB:
+               eiter->a.cur_speed =
+                   __constant_cpu_to_be32(FDMI_PORT_SPEED_2GB);
                break;
-       case 3:
-               eiter->a.cur_speed = __constant_cpu_to_be32(4);
+       case PORT_SPEED_4GB:
+               eiter->a.cur_speed =
+                   __constant_cpu_to_be32(FDMI_PORT_SPEED_4GB);
+               break;
+       default:
+               eiter->a.cur_speed =
+                   __constant_cpu_to_be32(FDMI_PORT_SPEED_UNKNOWN);
                break;
        }
        size += 4 + 4;