You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
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>
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user