Johannes,
One of the users of an rtw8821ce found an increase of power usage from 272 mW in
kernel 5.19.13 to 579 mW in kernel 6.2.8. If he reverted commit 28977e790b5d
("wifi: mac80211: skip powersave recalc if driver SUPPORTS_DYNAMIC_PS"), the
original power usage is restored.
This patch says:
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 52a41416b8bb..e5c058db451d 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -1787,7 +1787,8 @@ void ieee80211_recalc_ps(struct ieee80211_local *local)
int count = 0;
int timeout;
- if (!ieee80211_hw_check(&local->hw, SUPPORTS_PS)) {
+ if (!ieee80211_hw_check(&local->hw, SUPPORTS_PS) ||
+ ieee80211_hw_check(&local->hw, SUPPORTS_DYNAMIC_PS)) {
local->ps_sdata = NULL;
return;
}
The driver in question has both SUPPORTS_PS and SUPPORTS_DYNAMIC_PS set, thus
this patch enables the dependent part of this test. Is this what was intended?
If so, then rtw88 is not supporting DYNAMIC_PS correctly.
Thanks,
Larry