diff options
author | Roland Dreier <rolandd@cisco.com> | 2006-12-12 14:50:20 -0500 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2006-12-12 14:50:20 -0500 |
commit | 0a1336c8c93530b93c8ecd8c9882f5e528673cab (patch) | |
tree | 19834d4aeab09b42138db983c1f8e4a55e76ffe0 /drivers/infiniband/hw/ipath/ipath_iba6120.c | |
parent | ad1f9791e91511fcff21730e55ad8dbc375c79bb (diff) |
IB/ipath: Fix IRQ for PCI Express HCAs
Commit 51f65ebc ("IB/ipath - program intconfig register using new HT
irq hook"), which fixed interrupts for HyperTransport HCAs, broke PCI
Express HCAs, because for those HCAs, the driver uses the value of
pdev->irq before pci_enable_msi() and ends up getting a totally bogus
IRQ number. Fix this by using the value of pdev->irq after
pci_enable_msi().
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_iba6120.c')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_iba6120.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_iba6120.c b/drivers/infiniband/hw/ipath/ipath_iba6120.c index 397da3483af1..ae8bf9950c6d 100644 --- a/drivers/infiniband/hw/ipath/ipath_iba6120.c +++ b/drivers/infiniband/hw/ipath/ipath_iba6120.c | |||
@@ -851,12 +851,12 @@ static int ipath_setup_pe_config(struct ipath_devdata *dd, | |||
851 | int pos, ret; | 851 | int pos, ret; |
852 | 852 | ||
853 | dd->ipath_msi_lo = 0; /* used as a flag during reset processing */ | 853 | dd->ipath_msi_lo = 0; /* used as a flag during reset processing */ |
854 | dd->ipath_irq = pdev->irq; | ||
855 | ret = pci_enable_msi(dd->pcidev); | 854 | ret = pci_enable_msi(dd->pcidev); |
856 | if (ret) | 855 | if (ret) |
857 | ipath_dev_err(dd, "pci_enable_msi failed: %d, " | 856 | ipath_dev_err(dd, "pci_enable_msi failed: %d, " |
858 | "interrupts may not work\n", ret); | 857 | "interrupts may not work\n", ret); |
859 | /* continue even if it fails, we may still be OK... */ | 858 | /* continue even if it fails, we may still be OK... */ |
859 | dd->ipath_irq = pdev->irq; | ||
860 | 860 | ||
861 | if ((pos = pci_find_capability(dd->pcidev, PCI_CAP_ID_MSI))) { | 861 | if ((pos = pci_find_capability(dd->pcidev, PCI_CAP_ID_MSI))) { |
862 | u16 control; | 862 | u16 control; |