提交 0a1336c8 编写于 作者: R Roland Dreier

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: NRoland Dreier <rolandd@cisco.com>
上级 ad1f9791
...@@ -851,12 +851,12 @@ static int ipath_setup_pe_config(struct ipath_devdata *dd, ...@@ -851,12 +851,12 @@ static int ipath_setup_pe_config(struct ipath_devdata *dd,
int pos, ret; int pos, ret;
dd->ipath_msi_lo = 0; /* used as a flag during reset processing */ dd->ipath_msi_lo = 0; /* used as a flag during reset processing */
dd->ipath_irq = pdev->irq;
ret = pci_enable_msi(dd->pcidev); ret = pci_enable_msi(dd->pcidev);
if (ret) if (ret)
ipath_dev_err(dd, "pci_enable_msi failed: %d, " ipath_dev_err(dd, "pci_enable_msi failed: %d, "
"interrupts may not work\n", ret); "interrupts may not work\n", ret);
/* continue even if it fails, we may still be OK... */ /* continue even if it fails, we may still be OK... */
dd->ipath_irq = pdev->irq;
if ((pos = pci_find_capability(dd->pcidev, PCI_CAP_ID_MSI))) { if ((pos = pci_find_capability(dd->pcidev, PCI_CAP_ID_MSI))) {
u16 control; u16 control;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册