rtlwifi: btcoex: 21a 2ant: init wlan when leave ips
authorYan-Hsuan Chuang <yhchuang@realtek.com>
Thu, 11 May 2017 19:01:16 +0000 (14:01 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 18 May 2017 14:07:30 +0000 (17:07 +0300)
If the wifi is leaving ips, re-init the coex mechanisms, and before it is
going into ips, the bt can just ignore the wifi activities.

Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Pkshih <pkshih@realtek.com>
Cc: Birming Chiu <birming@realtek.com>
Cc: Shaofu <shaofu@realtek.com>
Cc: Steven Ting <steventing@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c

index 0d97e21..cc35456 100644 (file)
@@ -3899,11 +3899,15 @@ void ex_btc8821a2ant_ips_notify(struct btc_coexist *btcoexist, u8 type)
                         "[BTCoex], IPS ENTER notify\n");
                coex_sta->under_ips = true;
                btc8821a2ant_wifi_off_hw_cfg(btcoexist);
+               btc8821a2ant_ignore_wlan_act(btcoexist, FORCE_EXEC, true);
                btc8821a2ant_coex_all_off(btcoexist);
        } else if (BTC_IPS_LEAVE == type) {
                RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_LOUD,
                         "[BTCoex], IPS LEAVE notify\n");
                coex_sta->under_ips = false;
+               ex_btc8821a2ant_init_hwconfig(btcoexist);
+               btc8821a2ant_init_coex_dm(btcoexist);
+               btc8821a2ant_query_bt_info(btcoexist);
        }
 }