summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Kazior <michal.kazior@tieto.com>2013-06-26 08:50:50 +0200
committerJohn W. Linville <linville@tuxdriver.com>2013-06-27 13:42:14 -0400
commit87b1423b71f7ce58186c89920b0cde12a74ee150 (patch)
tree019e59ecc69f588f305935c9abdb215366c8cf95
parent0847beb2865f5ef1c8626ec1a37def18f3d6c41a (diff)
ath10k: fix MSI-X setup failpath
Irqs were not freed up correctly upon msi-x setup failure. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/ath10k/pci.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c
index c8e90566970..33af4672c90 100644
--- a/drivers/net/wireless/ath/ath10k/pci.c
+++ b/drivers/net/wireless/ath/ath10k/pci.c
@@ -1883,9 +1883,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;
}