]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: rtw89: mcc: enlarge scan time of GC when GO in MCC
authorChih-Kang Chang <gary.chang@realtek.com>
Tue, 10 Jun 2025 13:00:30 +0000 (21:00 +0800)
committerPing-Ke Shih <pkshih@realtek.com>
Mon, 16 Jun 2025 05:34:17 +0000 (13:34 +0800)
In original scan, the scan time only 45ms. The GO in MCC mode only
stay 50ms and switch to STA role 50ms, which might cause GC can't scan
GO. Therefore, enlarge scan time to 105ms to ensure GC have time
overlapping with GO.

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

index cde22f692dc29a69ed77f7b43b43e5c3d8378c5e..608159d31e08db255615a8a3d68c5db3d4cd4218 100644 (file)
@@ -7264,6 +7264,8 @@ int rtw89_hw_scan_prep_chan_list_ax(struct rtw89_dev *rtwdev,
                else if (channel->band == NL80211_BAND_6GHZ)
                        ch_info->period = RTW89_CHANNEL_TIME_6G +
                                          RTW89_DWELL_TIME_6G;
+               else if (rtwvif_link->wifi_role == RTW89_WIFI_ROLE_P2P_CLIENT)
+                       ch_info->period = RTW89_P2P_CHAN_TIME;
                else
                        ch_info->period = RTW89_CHANNEL_TIME;
 
@@ -7440,6 +7442,8 @@ int rtw89_hw_scan_prep_chan_list_be(struct rtw89_dev *rtwdev,
                        ch_info->period = req->duration;
                else if (channel->band == NL80211_BAND_6GHZ)
                        ch_info->period = RTW89_CHANNEL_TIME_6G + RTW89_DWELL_TIME_6G;
+               else if (rtwvif_link->wifi_role == RTW89_WIFI_ROLE_P2P_CLIENT)
+                       ch_info->period = RTW89_P2P_CHAN_TIME;
                else
                        ch_info->period = RTW89_CHANNEL_TIME;
 
index f9d5bcbc7c7e7429851cbe9fefe84be7320c6f1e..d66333321de2f0709cf0c4295617471dbb950297 100644 (file)
@@ -320,6 +320,7 @@ struct rtw89_fw_macid_pause_sleep_grp {
 #define RTW89_CHANNEL_TIME_EXTRA_OP 30
 #define RTW89_DFS_CHAN_TIME 105
 #define RTW89_OFF_CHAN_TIME 100
+#define RTW89_P2P_CHAN_TIME 105
 #define RTW89_DWELL_TIME 20
 #define RTW89_DWELL_TIME_6G 10
 #define RTW89_SCAN_WIDTH 0