mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 08:44:21 +08: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:
parent
ad1f9791e9
commit
0a1336c8c9
@ -851,12 +851,12 @@ static int ipath_setup_pe_config(struct ipath_devdata *dd,
|
||||
int pos, ret;
|
||||
|
||||
dd->ipath_msi_lo = 0; /* used as a flag during reset processing */
|
||||
dd->ipath_irq = pdev->irq;
|
||||
ret = pci_enable_msi(dd->pcidev);
|
||||
if (ret)
|
||||
ipath_dev_err(dd, "pci_enable_msi failed: %d, "
|
||||
"interrupts may not work\n", ret);
|
||||
/* 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))) {
|
||||
u16 control;
|
||||
|
Loading…
Reference in New Issue
Block a user