Irqs were not freed up correctly upon msi-x setup
failure.
Signed-off-by: Michal Kazior <[email protected]>
---
drivers/net/wireless/ath/ath10k/pci.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c
index 1a59638..63c58b5 100644
--- a/drivers/net/wireless/ath/ath10k/pci.c
+++ b/drivers/net/wireless/ath/ath10k/pci.c
@@ -1882,9 +1882,10 @@ static int ath10k_pci_start_intr_msix(struct ath10k *ar, int num)
ath10k_warn("request_irq(%d) failed %d\n",
ar_pci->pdev->irq + i, ret);
- for (; i >= MSI_ASSIGN_CE_INITIAL; i--)
- free_irq(ar_pci->pdev->irq, ar);
+ for (i--; i >= MSI_ASSIGN_CE_INITIAL; i--)
+ free_irq(ar_pci->pdev->irq + i, ar);
+ free_irq(ar_pci->pdev->irq + MSI_ASSIGN_FW, ar);
pci_disable_msi(ar_pci->pdev);
return ret;
}
--
1.7.9.5
Michal Kazior <[email protected]> writes:
> Irqs were not freed up correctly upon msi-x setup
> failure.
>
> Signed-off-by: Michal Kazior <[email protected]>
John has already applied this.
--
Kalle Valo