mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 18:21:24 +02:00
wifi: rtw89: suspend DIG when remain-on-channel
The PD (Packet Detection) lower bound is set after the STA interface connects. When the P2P interface attempts to find peers, it enters the remain-on-channel flow to listen for probe requests. However, if the RSSI of the connected AP is too high, the P2P interface fails to receive it. To resolve this, suspend the DIG during the remain-on-channel period. Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260420034051.17666-15-pkshih@realtek.com
This commit is contained in:
parent
6a9b4babeb
commit
602b58bb45
|
|
@ -4474,6 +4474,7 @@ void rtw89_roc_start(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
|
|||
reg = rtw89_mac_reg_by_idx(rtwdev, mac->rx_fltr, rtwvif_link->mac_idx);
|
||||
rtw89_write32_clr(rtwdev, reg, B_AX_A_UC_CAM_MATCH | B_AX_A_BC_CAM_MATCH);
|
||||
|
||||
rtw89_phy_dig_suspend(rtwdev);
|
||||
ieee80211_ready_on_channel(hw);
|
||||
wiphy_delayed_work_cancel(hw->wiphy, &rtwvif->roc.roc_work);
|
||||
wiphy_delayed_work_queue(hw->wiphy, &rtwvif->roc.roc_work,
|
||||
|
|
@ -4518,6 +4519,7 @@ void rtw89_roc_end(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif)
|
|||
|
||||
rtw89_core_handle_sta_pending_tx(rtwdev, rtwvif_link);
|
||||
queue_work(rtwdev->txq_wq, &rtwdev->txq_work);
|
||||
rtw89_phy_dig_resume(rtwdev, true);
|
||||
|
||||
if (hw->conf.flags & IEEE80211_CONF_IDLE)
|
||||
wiphy_delayed_work_queue(hw->wiphy, &roc->roc_work,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user