]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
scsi: qla2xxx: Cleaned up queue configuration code.
authorMichael Hernandez <michael.hernandez@cavium.com>
Wed, 15 Feb 2017 23:37:19 +0000 (15:37 -0800)
committerBrian Maly <brian.maly@oracle.com>
Thu, 2 Nov 2017 18:14:20 +0000 (14:14 -0400)
Orabug: 2684419726923029

This patch cleaned up queue configuration code, such that once
initialized, we should not touch msix_count value.  This will prevent
incorrect numbers of MSI-X vectors requested while performing target
mode configuration.

[mkp: fixed Fixes: hash]

Cc: <stable@vger.kernel.org>
Fixes: d74595278f4a ("scsi: qla2xxx: Add multiple queue pair functionality.")
Signed-off-by: Michael Hernandez <michael.hernandez@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Brian Maly <brian.maly@oracle.com>
Reviewed-by: Jack Vogel <jack.vogel@oracle.com>
drivers/scsi/qla2xxx/qla_os.c

index 1c37a13f7a342f00feeaa84d4c31d8516c86d874..3b4842d200812c36fd22880b6ae9292f330cf7af 100644 (file)
@@ -1805,6 +1805,7 @@ skip_pio:
 
        /* Determine queue resources */
        ha->max_req_queues = ha->max_rsp_queues = 1;
+       ha->msix_count = QLA_BASE_VECTORS;
        if (!ql2xmqsupport || (!IS_QLA25XX(ha) && !IS_QLA81XX(ha)))
                goto mqiobase_exit;
 
@@ -1832,9 +1833,8 @@ skip_pio:
                    "BAR 3 not enabled.\n");
 
 mqiobase_exit:
-       ha->msix_count = ha->max_rsp_queues + 1;
        ql_dbg_pci(ql_dbg_init, ha->pdev, 0x001c,
-           "MSIX Count:%d.\n", ha->msix_count);
+           "MSIX Count: %d.\n", ha->msix_count);
        return (0);
 
 iospace_error_exit:
@@ -1882,6 +1882,7 @@ qla83xx_iospace_config(struct qla_hw_data *ha)
        /* 83XX 26XX always use MQ type access for queues
         * - mbar 2, a.k.a region 4 */
        ha->max_req_queues = ha->max_rsp_queues = 1;
+       ha->msix_count = QLA_BASE_VECTORS;
        ha->mqiobase = ioremap(pci_resource_start(ha->pdev, 4),
                        pci_resource_len(ha->pdev, 4));
 
@@ -1924,14 +1925,8 @@ qla83xx_iospace_config(struct qla_hw_data *ha)
                    "BAR 1 not enabled.\n");
 
 mqiobase_exit:
-       ha->msix_count = ha->max_rsp_queues + 1;
-       if (QLA_TGT_MODE_ENABLED())
-               ha->msix_count++;
-
-       qlt_83xx_iospace_config(ha);
-
        ql_dbg_pci(ql_dbg_init, ha->pdev, 0x011f,
-           "MSIX Count:%d.\n", ha->msix_count);
+           "MSIX Count: %d.\n", ha->msix_count);
        return 0;
 
 iospace_error_exit: