ath9k_hw: fix AR9462 2g5g switch on full reset
authorRajkumar Manoharan <rmanohar@qca.qualcomm.com>
Sun, 1 Jul 2012 14:23:55 +0000 (19:53 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 9 Jul 2012 20:36:20 +0000 (16:36 -0400)
On full reset, mci reset will put LNA update on 2G mode. And
Whenever 2g5g_switch is forced at the end of full reset, lna
update should not be skipped. Not doing so, is affecting WLAN
rx and causing beacon loss when BTCOEX is enabled on AR9462.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ar9003_mci.c

index 61558375bfbfcb08cb7fee3eb3e1a19808a3ebcc..9a34fcaae3ff59621d38f69bfafa58cdcb6a2d03 100644 (file)
@@ -1015,12 +1015,9 @@ void ar9003_mci_2g5g_switch(struct ath_hw *ah, bool force)
                return;
 
        if (mci->is_2g) {
-               if (!force) {
-                       ar9003_mci_send_2g5g_status(ah, true);
-
-                       ar9003_mci_send_lna_transfer(ah, true);
-                       udelay(5);
-               }
+               ar9003_mci_send_2g5g_status(ah, true);
+               ar9003_mci_send_lna_transfer(ah, true);
+               udelay(5);
 
                REG_CLR_BIT(ah, AR_MCI_TX_CTRL,
                            AR_MCI_TX_CTRL_DISABLE_LNA_UPDATE);
@@ -1030,10 +1027,8 @@ void ar9003_mci_2g5g_switch(struct ath_hw *ah, bool force)
                if (!(mci->config & ATH_MCI_CONFIG_DISABLE_OSLA))
                        ar9003_mci_osla_setup(ah, true);
        } else {
-               if (!force) {
-                       ar9003_mci_send_lna_take(ah, true);
-                       udelay(5);
-               }
+               ar9003_mci_send_lna_take(ah, true);
+               udelay(5);
 
                REG_SET_BIT(ah, AR_MCI_TX_CTRL,
                            AR_MCI_TX_CTRL_DISABLE_LNA_UPDATE);
@@ -1041,8 +1036,7 @@ void ar9003_mci_2g5g_switch(struct ath_hw *ah, bool force)
                            AR_BTCOEX_CTRL_BT_OWN_SPDT_CTRL);
 
                ar9003_mci_osla_setup(ah, false);
-               if (!force)
-                       ar9003_mci_send_2g5g_status(ah, true);
+               ar9003_mci_send_2g5g_status(ah, true);
        }
 }