ath10k: fix MSI-X setup failpath
authorMichal Kazior <michal.kazior@tieto.com>
Wed, 26 Jun 2013 06:50:50 +0000 (08:50 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 27 Jun 2013 17:42:14 +0000 (13:42 -0400)
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>
drivers/net/wireless/ath/ath10k/pci.c

index c8e9056697015c8f95aea5a4d1512626fd8f45ab..33af4672c90916d38405870f67cf5773c5df5d43 100644 (file)
@@ -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;
                }