As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix() and pci_enable_msi_block() all drivers
using these two interfaces need to be updated to use the
new pci_enable_msi_range()  or pci_enable_msi_exact()
and pci_enable_msix_range() or pci_enable_msix_exact()
interfaces.

Signed-off-by: Alexander Gordeev <agord...@redhat.com>
Cc: Naresh Kumar Inna <nar...@chelsio.com>
Cc: Arvind Bhushan <arvi...@chelsio.com>
Cc: linux-scsi@vger.kernel.org
Cc: linux-...@vger.kernel.org
---
 drivers/scsi/csiostor/csio_hw.h  |    2 +-
 drivers/scsi/csiostor/csio_isr.c |   22 +++++++++-------------
 2 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/drivers/scsi/csiostor/csio_hw.h b/drivers/scsi/csiostor/csio_hw.h
index 49b1daa..5db2d85 100644
--- a/drivers/scsi/csiostor/csio_hw.h
+++ b/drivers/scsi/csiostor/csio_hw.h
@@ -94,7 +94,7 @@ enum {
 };
 
 struct csio_msix_entries {
-       unsigned short  vector;         /* Vector assigned by pci_enable_msix */
+       unsigned short  vector;         /* Assigned MSI-X vector */
        void            *dev_id;        /* Priv object associated w/ this msix*/
        char            desc[24];       /* Description of this vector */
 };
diff --git a/drivers/scsi/csiostor/csio_isr.c b/drivers/scsi/csiostor/csio_isr.c
index 91ba91d..a8c748a 100644
--- a/drivers/scsi/csiostor/csio_isr.c
+++ b/drivers/scsi/csiostor/csio_isr.c
@@ -499,7 +499,7 @@ csio_reduce_sqsets(struct csio_hw *hw, int cnt)
 static int
 csio_enable_msix(struct csio_hw *hw)
 {
-       int rv, i, j, k, n, min, cnt;
+       int i, j, k, n, min, cnt;
        struct csio_msix_entries *entryp;
        struct msix_entry *entries;
        int extra = CSIO_EXTRA_VECS;
@@ -521,19 +521,15 @@ csio_enable_msix(struct csio_hw *hw)
 
        csio_dbg(hw, "FW supp #niq:%d, trying %d msix's\n", hw->cfg_niq, cnt);
 
-       while ((rv = pci_enable_msix(hw->pdev, entries, cnt)) >= min)
-               cnt = rv;
-       if (!rv) {
-               if (cnt < (hw->num_sqsets + extra)) {
-                       csio_dbg(hw, "Reducing sqsets to %d\n", cnt - extra);
-                       csio_reduce_sqsets(hw, cnt - extra);
-               }
-       } else {
-               if (rv > 0)
-                       csio_info(hw, "Not using MSI-X, remainder:%d\n", rv);
-
+       cnt = pci_enable_msix_range(hw->pdev, entries, min, cnt);
+       if (cnt < 0) {
                kfree(entries);
-               return -ENOMEM;
+               return cnt;
+       }
+
+       if (cnt < (hw->num_sqsets + extra)) {
+               csio_dbg(hw, "Reducing sqsets to %d\n", cnt - extra);
+               csio_reduce_sqsets(hw, cnt - extra);
        }
 
        /* Save off vectors */
-- 
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to