summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYijing Wang <wangyijing@huawei.com>2013-08-08 21:09:34 +0800
committerJon Mason <jon.mason@intel.com>2013-09-05 11:08:01 -0700
commit73f47cadfe29f98c48d7fbac4dd79d3e7979ee0b (patch)
tree209fd32c973c7573146d2aa50898d6143e0340a9
parent2984411f1af45ab27092f7dc5678bbbfb94fbed3 (diff)
downloadlinux-stable-73f47cadfe29f98c48d7fbac4dd79d3e7979ee0b.tar.gz
linux-stable-73f47cadfe29f98c48d7fbac4dd79d3e7979ee0b.tar.bz2
linux-stable-73f47cadfe29f98c48d7fbac4dd79d3e7979ee0b.zip
ntb: clean up unnecessary MSI/MSI-X capability find
PCI core will initialize device MSI/MSI-X capability in pci_msi_init_pci_dev(). So device driver should use pci_dev->msi_cap/msix_cap to determine whether the device support MSI/MSI-X instead of using pci_find_capability(pci_dev, PCI_CAP_ID_MSI/MSIX). Access to PCIe device config space again will consume more time. Signed-off-by: Yijing Wang <wangyijing@huawei.com> Signed-off-by: Jon Mason <jon.mason@intel.com>
-rw-r--r--drivers/ntb/ntb_hw.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/ntb/ntb_hw.c b/drivers/ntb/ntb_hw.c
index b717922d6240..1cb6e51e6bda 100644
--- a/drivers/ntb/ntb_hw.c
+++ b/drivers/ntb/ntb_hw.c
@@ -1031,16 +1031,15 @@ static int ntb_setup_msix(struct ntb_device *ndev)
struct pci_dev *pdev = ndev->pdev;
struct msix_entry *msix;
int msix_entries;
- int rc, i, pos;
+ int rc, i;
u16 val;
- pos = pci_find_capability(pdev, PCI_CAP_ID_MSIX);
- if (!pos) {
+ if (!pdev->msix_cap) {
rc = -EIO;
goto err;
}
- rc = pci_read_config_word(pdev, pos + PCI_MSIX_FLAGS, &val);
+ rc = pci_read_config_word(pdev, pdev->msix_cap + PCI_MSIX_FLAGS, &val);
if (rc)
goto err;