Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0a1336c8 authored by Roland Dreier's avatar Roland Dreier
Browse files

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: default avatarRoland Dreier <rolandd@cisco.com>
parent ad1f9791
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;