wifi: rtw88: prohibit enter IPS during HW scan
authorChih-Kang Chang <gary.chang@realtek.com>
Tue, 9 Aug 2022 08:41:07 +0000 (16:41 +0800)
committerKalle Valo <kvalo@kernel.org>
Wed, 10 Aug 2022 05:48:47 +0000 (08:48 +0300)
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
drivers/net/wireless/realtek/rtw88/mac80211.c

index ef60041fe6bf6cfbc0831ecc1e2583ab95d1d22c..07578ccc4bab3bd6e520c667e6b01787712d7f68 100644 (file)
@@ -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: