rtlwifi: Add work queue for c2h cmd.
btcoex needs to sleep, thus it must run in thread context. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
@@ -585,9 +585,9 @@ void rtl8723be_set_p2p_ps_offload_cmd(struct ieee80211_hw *hw,
|
||||
(u8 *)p2p_ps_offload);
|
||||
}
|
||||
|
||||
static void _rtl8723be_c2h_content_parsing(struct ieee80211_hw *hw,
|
||||
u8 c2h_cmd_id,
|
||||
u8 c2h_cmd_len, u8 *tmp_buf)
|
||||
void rtl8723be_c2h_content_parsing(struct ieee80211_hw *hw,
|
||||
u8 c2h_cmd_id,
|
||||
u8 c2h_cmd_len, u8 *tmp_buf)
|
||||
{
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
|
||||
@@ -635,5 +635,15 @@ void rtl8723be_c2h_packet_handler(struct ieee80211_hw *hw, u8 *buffer, u8 len)
|
||||
RT_PRINT_DATA(rtlpriv, COMP_FW, DBG_TRACE,
|
||||
"[C2H packet], Content Hex:\n", tmp_buf, c2h_cmd_len);
|
||||
|
||||
_rtl8723be_c2h_content_parsing(hw, c2h_cmd_id, c2h_cmd_len, tmp_buf);
|
||||
switch (c2h_cmd_id) {
|
||||
case C2H_8723B_BT_INFO:
|
||||
case C2H_8723B_BT_MP:
|
||||
rtl_c2hcmd_enqueue(hw, c2h_cmd_id, c2h_cmd_len, tmp_buf);
|
||||
break;
|
||||
|
||||
default:
|
||||
rtl8723be_c2h_content_parsing(hw, c2h_cmd_id, c2h_cmd_len,
|
||||
tmp_buf);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@@ -148,5 +148,6 @@ void rtl8723be_set_fw_media_status_rpt_cmd(struct ieee80211_hw *hw, u8 mstatus);
|
||||
void rtl8723be_set_fw_rsvdpagepkt(struct ieee80211_hw *hw, bool b_dl_finished);
|
||||
void rtl8723be_set_p2p_ps_offload_cmd(struct ieee80211_hw *hw, u8 p2p_ps_state);
|
||||
void rtl8723be_c2h_packet_handler(struct ieee80211_hw *hw, u8 *buffer, u8 len);
|
||||
|
||||
void rtl8723be_c2h_content_parsing(struct ieee80211_hw *hw, u8 c2h_cmd_id,
|
||||
u8 c2h_cmd_len, u8 *tmp_buf);
|
||||
#endif
|
||||
|
@@ -260,6 +260,7 @@ static struct rtl_hal_ops rtl8723be_hal_ops = {
|
||||
.get_btc_status = rtl8723be_get_btc_status,
|
||||
.rx_command_packet = rtl8723be_rx_command_packet,
|
||||
.is_fw_header = is_fw_header,
|
||||
.c2h_content_parsing = rtl8723be_c2h_content_parsing,
|
||||
};
|
||||
|
||||
static struct rtl_mod_params rtl8723be_mod_params = {
|
||||
|
Reference in New Issue
Block a user