mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-24 04:39:50 +07:00
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: Bryan O'Sullivan <bryan.osullivan@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
5a7d4eea91
commit
7b196e2ff3
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user