On Mon, Jun 12, 2023 at 10:40:49AM +0800, Ping-Ke Shih wrote: > This driver relies on IEEE80211_CONF_PS of hw->conf.flags to turn off PS or > turn on dynamic PS controlled by driver and firmware. Though this would be > incorrect, it did work before because the flag is always recalculated until > the commit 28977e790b5d ("wifi: mac80211: skip powersave recalc if driver SUPPORTS_DYNAMIC_PS") > is introduced by kernel 5.20 to skip to recalculate IEEE80211_CONF_PS > of hw->conf.flags if driver sets SUPPORTS_DYNAMIC_PS. > > Correct this by doing recalculation while BSS_CHANGED_PS is changed and > interface is added or removed. For now, it is allowed to enter PS only if > single one station vif is working, and it could possible to have PS per > vif after firmware can support it. Without this fix, driver doesn't > enter PS anymore that causes higher power consumption. > > Fixes: e3ec7017f6a2 ("rtw89: add Realtek 802.11ax driver") > Cc: stable@xxxxxxxxxxxxxxx # 6.1+ > Signed-off-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> > Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxx> > Link: https://lore.kernel.org/r/20230527082939.11206-3-pkshih@xxxxxxxxxxx > (cherry picked from commit 26a125f550a3bf86ac91d38752f4d446426dfe1c) > Signed-off-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> > --- > drivers/net/wireless/realtek/rtw89/mac80211.c | 16 +++++------- > drivers/net/wireless/realtek/rtw89/ps.c | 26 +++++++++++++++++++ > drivers/net/wireless/realtek/rtw89/ps.h | 1 + > 3 files changed, 34 insertions(+), 9 deletions(-) All backports now queued up, thanks. greg k-h