Skip to content

Commit 298d7a4

Browse files
Po-Hao Huangopsiff
authored andcommitted
wifi: rtw89: Fix TX fail with A2DP after scanning
There might be some racing between BT and WiFi after scan. Since one of the TX related register will be modified by both FW and rtw89_set_channel() in driver, which could cause Tx fail. Reorder the calling sequence to only notify coexistence mechanism after rtw89_set_channel() is called, so that there are no concurrent operations. Fixes: 5f499ce ("wifi: rtw89: pause/proceed MCC for ROC and HW scan") Signed-off-by: Po-Hao Huang <phhuang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20241021063219.22613-1-pkshih@realtek.com (cherry picked from commit f16c40a)
1 parent a5331bd commit 298d7a4

File tree

1 file changed

+1
-2
lines changed
  • drivers/net/wireless/realtek/rtw89

1 file changed

+1
-2
lines changed

drivers/net/wireless/realtek/rtw89/fw.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6093,6 +6093,7 @@ void rtw89_hw_scan_complete(struct rtw89_dev *rtwdev, struct ieee80211_vif *vif,
60936093
rtw89_mac_reg_by_idx(rtwdev, mac->rx_fltr, RTW89_MAC_0),
60946094
B_AX_RX_FLTR_CFG_MASK,
60956095
rtwdev->hal.rx_fltr);
6096+
rtw89_chanctx_proceed(rtwdev);
60966097

60976098
rtw89_core_scan_complete(rtwdev, vif, true);
60986099
ieee80211_scan_completed(rtwdev->hw, &info);
@@ -6106,8 +6107,6 @@ void rtw89_hw_scan_complete(struct rtw89_dev *rtwdev, struct ieee80211_vif *vif,
61066107
scan_info->last_chan_idx = 0;
61076108
scan_info->scanning_vif = NULL;
61086109
scan_info->abort = false;
6109-
6110-
rtw89_chanctx_proceed(rtwdev);
61116110
}
61126111

61136112
void rtw89_hw_scan_abort(struct rtw89_dev *rtwdev, struct ieee80211_vif *vif)

0 commit comments

Comments
 (0)