| From f54f2cb540b53d55a81d620e816810d59be5cb1b Mon Sep 17 00:00:00 2001 |
| From: Michael Hernandez <michael.hernandez@cavium.com> |
| Date: Wed, 15 Feb 2017 15:37:19 -0800 |
| Subject: scsi: qla2xxx: Cleaned up queue configuration code. |
| |
| From: Michael Hernandez <michael.hernandez@cavium.com> |
| |
| commit f54f2cb540b53d55a81d620e816810d59be5cb1b upstream. |
| |
| 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] |
| |
| 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/scsi/qla2xxx/qla_os.c | 13 ++++--------- |
| 1 file changed, 4 insertions(+), 9 deletions(-) |
| |
| --- a/drivers/scsi/qla2xxx/qla_os.c |
| +++ b/drivers/scsi/qla2xxx/qla_os.c |
| @@ -1814,6 +1814,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; |
| |
| @@ -1841,9 +1842,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: |
| @@ -1891,6 +1891,7 @@ qla83xx_iospace_config(struct qla_hw_dat |
| /* 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)); |
| |
| @@ -1933,14 +1934,8 @@ qla83xx_iospace_config(struct qla_hw_dat |
| "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: |