ath9k: Initialize MCI state correctly
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Sun, 1 Mar 2015 06:23:45 +0000 (11:53 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 3 Mar 2015 13:46:53 +0000 (15:46 +0200)
The MCI configuration values are assigned
in ath9k_hw_btcoex_init_mci() which are used
by the MCI reset routine. When initializing
BTCOEX/MCI, ath_mci_setup() ends up using
uninitialized data. Fix this by setting up
the configuration parameters before issuing
a MCI reset.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath9k/gpio.c

index 78695b59d6fc17887ef5adeb69695905d6ca4231..257ffce9373a6eb4980788286efaa20eae704db1 100644 (file)
@@ -415,12 +415,11 @@ int ath9k_init_btcoex(struct ath_softc *sc)
                if (ath9k_hw_mci_is_enabled(ah)) {
                        sc->btcoex.duty_cycle = ATH_BTCOEX_DEF_DUTY_CYCLE;
                        INIT_LIST_HEAD(&sc->btcoex.mci.info);
+                       ath9k_hw_btcoex_init_mci(ah);
 
                        r = ath_mci_setup(sc);
                        if (r)
                                return r;
-
-                       ath9k_hw_btcoex_init_mci(ah);
                }
 
                break;