[SCSI] qla2xxx: Use correct value for max vport in LOOP topology.
authorLalit Chandivade <lalit.chandivade@qlogic.com>
Thu, 5 Mar 2009 19:07:01 +0000 (11:07 -0800)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Tue, 10 Mar 2009 14:27:54 +0000 (09:27 -0500)
Use minimum value for max vport during firmware initialization in LOOP
topology. Using max vport value from get resource count in LOOP topology
causes firmware initialization failure.

Signed-off-by: Lalit Chandivade <lalit.chandivade@qlogic.com>
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/qla2xxx/qla_init.c

index 986501759ad4910fa6b93c7db75d355001c47ad8..14325c0273369cad31653c682752bb7445d748cd 100644 (file)
@@ -1308,8 +1308,12 @@ qla2x00_init_rings(scsi_qla_host_t *vha)
 
        DEBUG(printk("scsi(%ld): Issue init firmware.\n", vha->host_no));
 
-       if (ha->flags.npiv_supported)
+       if (ha->flags.npiv_supported) {
+               if (ha->operating_mode == LOOP)
+                       ha->max_npiv_vports = MIN_MULTI_ID_FABRIC - 1;
                mid_init_cb->count = cpu_to_le16(ha->max_npiv_vports);
+       }
+
 
        mid_init_cb->options = __constant_cpu_to_le16(BIT_1);