rtw88: fix not disabling beacon filter after disconnection
authorChih-Kang Chang <gary.chang@realtek.com>
Thu, 28 Apr 2022 02:05:20 +0000 (10:05 +0800)
committerKalle Valo <kvalo@kernel.org>
Sun, 1 May 2022 16:13:22 +0000 (19:13 +0300)
Correct the judgment to let beacon filter disable after disconnection.

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/20220428020521.8015-2-pkshih@realtek.com
drivers/net/wireless/realtek/rtw88/fw.c

index 3545d51..28cc8d6 100644 (file)
@@ -649,7 +649,7 @@ void rtw_fw_beacon_filter_config(struct rtw_dev *rtwdev, bool connect,
        s32 threshold = bss_conf->cqm_rssi_thold + rssi_offset;
        u8 h2c_pkt[H2C_PKT_SIZE] = {0};
 
-       if (!rtw_fw_feature_check(&rtwdev->fw, FW_FEATURE_BCN_FILTER) || !si)
+       if (!rtw_fw_feature_check(&rtwdev->fw, FW_FEATURE_BCN_FILTER))
                return;
 
        if (!connect) {
@@ -659,6 +659,10 @@ void rtw_fw_beacon_filter_config(struct rtw_dev *rtwdev, bool connect,
 
                return;
        }
+
+       if (!si)
+               return;
+
        SET_H2C_CMD_ID_CLASS(h2c_pkt, H2C_CMD_BCN_FILTER_OFFLOAD_P0);
        ether_addr_copy(&h2c_pkt[1], bss_conf->bssid);
        rtw_fw_send_h2c_command(rtwdev, h2c_pkt);