ath10k: fix failpath in MSI-X setup
authorMichal Kazior <michal.kazior@tieto.com>
Wed, 31 Jul 2013 08:55:15 +0000 (10:55 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Fri, 2 Aug 2013 06:37:29 +0000 (09:37 +0300)
pci_disable_msi() must be called if the initial
request_irq() fails.

Also add a warning message so it's possible to
distinguish request_irq() failure and
pci_enable_msi() failure.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/pci.c

index c71b488eba9fa59402fba5e0abbabedca3f614ac..d95439b8dd33e89ac8578f21a170b1aa30e50b2b 100644 (file)
@@ -1990,8 +1990,13 @@ static int ath10k_pci_start_intr_msix(struct ath10k *ar, int num)
        ret = request_irq(ar_pci->pdev->irq + MSI_ASSIGN_FW,
                          ath10k_pci_msi_fw_handler,
                          IRQF_SHARED, "ath10k_pci", ar);
-       if (ret)
+       if (ret) {
+               ath10k_warn("request_irq(%d) failed %d\n",
+                           ar_pci->pdev->irq + MSI_ASSIGN_FW, ret);
+
+               pci_disable_msi(ar_pci->pdev);
                return ret;
+       }
 
        for (i = MSI_ASSIGN_CE_INITIAL; i <= MSI_ASSIGN_CE_MAX; i++) {
                ret = request_irq(ar_pci->pdev->irq + i,