aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/realtek/rtw88/mac80211.c
diff options
context:
space:
mode:
authorChih-Kang Chang <gary.chang@realtek.com>2022-08-09 16:41:07 +0800
committerKalle Valo <kvalo@kernel.org>2022-08-10 08:48:47 +0300
commit7dad3e39fde1eef97bc1a0b92e5d0f3500c9ed56 (patch)
tree62c1c004285feac7944011cec584794d719e349e /drivers/net/wireless/realtek/rtw88/mac80211.c
parentwifi: rtw88: add flag check before enter or leave IPS (diff)
downloadlinux-dev-7dad3e39fde1eef97bc1a0b92e5d0f3500c9ed56.tar.xz
linux-dev-7dad3e39fde1eef97bc1a0b92e5d0f3500c9ed56.zip
wifi: rtw88: prohibit enter IPS during HW scan
Mac80211 core may ask driver to change to idle mode during HW scan, then H2C command for HW scan will send failed since chip is in idle mode. Therefore, We check the SCANNING flag before entering IPS to prevent this behavior. Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20220809084107.38137-8-pkshih@realtek.com
Diffstat (limited to 'drivers/net/wireless/realtek/rtw88/mac80211.c')
-rw-r--r--drivers/net/wireless/realtek/rtw88/mac80211.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/realtek/rtw88/mac80211.c b/drivers/net/wireless/realtek/rtw88/mac80211.c
index ef60041fe6bf..07578ccc4bab 100644
--- a/drivers/net/wireless/realtek/rtw88/mac80211.c
+++ b/drivers/net/wireless/realtek/rtw88/mac80211.c
@@ -101,7 +101,8 @@ static int rtw_ops_config(struct ieee80211_hw *hw, u32 changed)
rtw_set_channel(rtwdev);
if ((changed & IEEE80211_CONF_CHANGE_IDLE) &&
- (hw->conf.flags & IEEE80211_CONF_IDLE))
+ (hw->conf.flags & IEEE80211_CONF_IDLE) &&
+ !test_bit(RTW_FLAG_SCANNING, rtwdev->flags))
rtw_enter_ips(rtwdev);
out: