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 b059aa8d88dbfc3da4920276848b06350b1239fa..b5cbfc15ebad8ba85449bed732e407365a5d8c99 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);