aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorMichal Kazior <michal.kazior@tieto.com>2013-06-26 02:50:50 -0400
committerJohn W. Linville <linville@tuxdriver.com>2013-06-27 13:42:14 -0400
commit87b1423b71f7ce58186c89920b0cde12a74ee150 (patch)
tree019e59ecc69f588f305935c9abdb215366c8cf95 /drivers/net
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>
Diffstat (limited to 'drivers/net')
-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 c8e905669701..33af4672c909 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)
1883 ath10k_warn("request_irq(%d) failed %d\n", 1883 ath10k_warn("request_irq(%d) failed %d\n",
1884 ar_pci->pdev->irq + i, ret); 1884 ar_pci->pdev->irq + i, ret);
1885 1885
1886 for (; i >= MSI_ASSIGN_CE_INITIAL; i--) 1886 for (i--; i >= MSI_ASSIGN_CE_INITIAL; i--)
1887 free_irq(ar_pci->pdev->irq, ar); 1887 free_irq(ar_pci->pdev->irq + i, ar);
1888 1888
1889 free_irq(ar_pci->pdev->irq + MSI_ASSIGN_FW, ar);
1889 pci_disable_msi(ar_pci->pdev); 1890 pci_disable_msi(ar_pci->pdev);
1890 return ret; 1891 return ret;
1891 } 1892 }