ntb: Use pci_msix_vec_count() to obtain number of MSI-Xs
authorAlexander Gordeev <agordeev@redhat.com>
Fri, 21 Feb 2014 15:49:30 +0000 (16:49 +0100)
committerJon Mason <jon.mason@intel.com>
Mon, 7 Apr 2014 17:59:19 +0000 (10:59 -0700)
Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Signed-off-by: Jon Mason <jon.mason@intel.com>
drivers/ntb/ntb_hw.c
drivers/ntb/ntb_hw.h

index eba1ed5..06d605c 100644 (file)
@@ -1086,19 +1086,12 @@ static int ntb_setup_msix(struct ntb_device *ndev)
        struct msix_entry *msix;
        int msix_entries;
        int rc, i;
-       u16 val;
 
-       if (!pdev->msix_cap) {
-               rc = -EIO;
-               goto err;
-       }
-
-       rc = pci_read_config_word(pdev, pdev->msix_cap + PCI_MSIX_FLAGS, &val);
-       if (rc)
+       msix_entries = pci_msix_vec_count(pdev);
+       if (msix_entries < 0) {
+               rc = msix_entries;
                goto err;
-
-       msix_entries = msix_table_size(val);
-       if (msix_entries > ndev->limits.msix_cnt) {
+       } else if (msix_entries > ndev->limits.msix_cnt) {
                rc = -EINVAL;
                goto err;
        }
index 923a0fb..465517b 100644 (file)
@@ -61,8 +61,6 @@
 #define PCI_DEVICE_ID_INTEL_NTB_SS_HSX         0x2F0F
 #define PCI_DEVICE_ID_INTEL_NTB_B2B_BWD                0x0C4E
 
-#define msix_table_size(control)       ((control & PCI_MSIX_FLAGS_QSIZE)+1)
-
 #ifndef readq
 static inline u64 readq(void __iomem *addr)
 {