wifi: rtw89: set pause_data field to avoid transmitting data in scan channels
authorChih-Kang Chang <gary.chang@realtek.com>
Sat, 26 Oct 2024 02:21:43 +0000 (10:21 +0800)
committerPing-Ke Shih <pkshih@realtek.com>
Fri, 1 Nov 2024 02:17:10 +0000 (10:17 +0800)
Set pause_data to all of the scan channels, excluding the OP channel,
to prevent data frame transmission to the scan channels, which causes
retransmission. Additionally, this flag won't affect the transmission
of probe requests from the scan channels.

Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20241026022143.7304-1-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/fw.c

index 6df275b92e921ddb57a050a66d68863be57d406a..2435e6d285c3c07c14bdb9a27e51fb9e1cf8171f 100644 (file)
@@ -6303,8 +6303,10 @@ static void rtw89_hw_scan_add_chan(struct rtw89_dev *rtwdev, int chan_type,
                        ch_info->period = max_t(u8, ch_info->period,
                                                RTW89_DFS_CHAN_TIME);
                ch_info->dwell_time = RTW89_DWELL_TIME;
+               ch_info->pause_data = true;
                break;
        case RTW89_CHAN_ACTIVE:
+               ch_info->pause_data = true;
                break;
        default:
                rtw89_err(rtwdev, "Channel type out of bound\n");
@@ -6403,8 +6405,10 @@ static void rtw89_hw_scan_add_chan_be(struct rtw89_dev *rtwdev, int chan_type,
                        ch_info->period =
                                max_t(u8, ch_info->period, RTW89_DFS_CHAN_TIME);
                ch_info->dwell_time = RTW89_DWELL_TIME;
+               ch_info->pause_data = true;
                break;
        case RTW89_CHAN_ACTIVE:
+               ch_info->pause_data = true;
                break;
        default:
                rtw89_warn(rtwdev, "Channel type out of bound\n");