|
@@ -1408,6 +1408,11 @@ u8 rtl_is_special_data(struct ieee80211_hw *hw, struct sk_buff *skb, u8 is_tx,
|
|
|
|
|
|
return true;
|
|
|
} else if (ETH_P_PAE == ether_type) {
|
|
|
+ /* EAPOL is seens as in-4way */
|
|
|
+ rtlpriv->btcoexist.btc_info.in_4way = true;
|
|
|
+ rtlpriv->btcoexist.btc_info.in_4way_ts = jiffies;
|
|
|
+ rtlpriv->btcoexist.btc_info.in_4way_ts = jiffies;
|
|
|
+
|
|
|
RT_TRACE(rtlpriv, (COMP_SEND | COMP_RECV), DBG_DMESG,
|
|
|
"802.1X %s EAPOL pkt!!\n", (is_tx) ? "Tx" : "Rx");
|
|
|
|
|
@@ -1959,6 +1964,12 @@ label_lps_done:
|
|
|
if (rtlpriv->cfg->ops->get_btc_status())
|
|
|
rtlpriv->btcoexist.btc_ops->btc_periodical(rtlpriv);
|
|
|
|
|
|
+ if (rtlpriv->btcoexist.btc_info.in_4way) {
|
|
|
+ if (time_after(jiffies, rtlpriv->btcoexist.btc_info.in_4way_ts +
|
|
|
+ msecs_to_jiffies(IN_4WAY_TIMEOUT_TIME)))
|
|
|
+ rtlpriv->btcoexist.btc_info.in_4way = false;
|
|
|
+ }
|
|
|
+
|
|
|
rtlpriv->link_info.bcn_rx_inperiod = 0;
|
|
|
|
|
|
/* <6> scan list */
|