wifi: rtw89: prohibit enter IPS during HW scan
authorChih-Kang Chang <gary.chang@realtek.com>
Sat, 15 Apr 2023 03:48:55 +0000 (11:48 +0800)
committerKalle Valo <kvalo@kernel.org>
Mon, 17 Apr 2023 09:49:51 +0000 (12:49 +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/20230415034900.15679-2-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/mac80211.c

index b059aa8..b5cbfc1 100644 (file)
@@ -105,7 +105,8 @@ static int rtw89_ops_config(struct ieee80211_hw *hw, u32 changed)
        }
 
        if ((changed & IEEE80211_CONF_CHANGE_IDLE) &&
-           (hw->conf.flags & IEEE80211_CONF_IDLE))
+           (hw->conf.flags & IEEE80211_CONF_IDLE) &&
+           !rtwdev->scanning)
                rtw89_enter_ips(rtwdev);
 
        mutex_unlock(&rtwdev->mutex);