]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/scsi/qla2xxx/qla_init.c
[SCSI] qla2xxx: fix for multiqueue in MISX disabled case
[net-next-2.6.git] / drivers / scsi / qla2xxx / qla_init.c
index b74924b279ef2854cfc09e238cff4f5cfc950820..73a793539d4512ba0ac7a5921a6cd0783ffd4308 100644 (file)
@@ -1442,7 +1442,17 @@ qla24xx_config_rings(struct scsi_qla_host *vha)
                        icb->firmware_options_2 |=
                                __constant_cpu_to_le32(BIT_18);
 
-               icb->firmware_options_2 &= __constant_cpu_to_le32(~BIT_22);
+               /* Use Disable MSIX Handshake mode for capable adapters */
+               if (IS_MSIX_NACK_CAPABLE(ha)) {
+                       icb->firmware_options_2 &=
+                               __constant_cpu_to_le32(~BIT_22);
+                       ha->flags.disable_msix_handshake = 1;
+                       qla_printk(KERN_INFO, ha,
+                               "MSIX Handshake Disable Mode turned on\n");
+               } else {
+                       icb->firmware_options_2 |=
+                               __constant_cpu_to_le32(BIT_22);
+               }
                icb->firmware_options_2 |= __constant_cpu_to_le32(BIT_23);
 
                WRT_REG_DWORD(&reg->isp25mq.req_q_in, 0);