ath10k: fix legacy irq workaround
authorMichal Kazior <michal.kazior@tieto.com>
Fri, 22 Aug 2014 12:23:30 +0000 (14:23 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Mon, 25 Aug 2014 08:28:26 +0000 (11:28 +0300)
Wrong register was being set up. This could
prevent firmware from booting in some rare cases
when using legacy interrupts.

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 bb1e473..4a7a5fe 100644 (file)
@@ -2465,9 +2465,10 @@ static int ath10k_pci_wait_for_target_init(struct ath10k *ar)
 
                if (ar_pci->num_msi_intrs == 0)
                        /* Fix potential race by repeating CORE_BASE writes */
-                       ath10k_pci_soc_write32(ar, PCIE_INTR_ENABLE_ADDRESS,
-                                              PCIE_INTR_FIRMWARE_MASK |
-                                              PCIE_INTR_CE_MASK_ALL);
+                       ath10k_pci_write32(ar, SOC_CORE_BASE_ADDRESS +
+                                          PCIE_INTR_ENABLE_ADDRESS,
+                                          PCIE_INTR_FIRMWARE_MASK |
+                                          PCIE_INTR_CE_MASK_ALL);
 
                mdelay(10);
        } while (time_before(jiffies, timeout));