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

Commit 7b196e2f authored by Arthur Jones's avatar Arthur Jones Committed by Roland Dreier
Browse files

IB/ipath: Call free_irq() on chip specific initialization failure



In initialization, if we bailed at chip specific initialization, we
forgot to clean up the irq we had requested.

Signed-off-by: default avatarBryan O'Sullivan <bryan.osullivan@qlogic.com>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 5a7d4eea
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -486,7 +486,7 @@ static int __devinit ipath_init_one(struct pci_dev *pdev,

	ret = ipath_init_chip(dd, 0);	/* do the chip-specific init */
	if (ret)
		goto bail_iounmap;
		goto bail_irqsetup;

	ret = ipath_enable_wc(dd);

@@ -505,6 +505,9 @@ static int __devinit ipath_init_one(struct pci_dev *pdev,

	goto bail;

bail_irqsetup:
	if (pdev->irq) free_irq(pdev->irq, dd);

bail_iounmap:
	iounmap((volatile void __iomem *) dd->ipath_kregbase);