mac80211: Enable power save after receiving NULL packet ACK
authorBassem Dawood <bassem@morsemicro.com>
Sat, 27 Feb 2021 05:58:15 +0000 (16:58 +1100)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 23 Jun 2021 13:06:24 +0000 (15:06 +0200)
Trigger dynamic_ps_timer to re-evaluate power saving once a null
function packet (with PM = 1) is ACKed, otherwise dynamic PS is
not enabled at that point.

Signed-off-by: Bassem Dawood <bassem@morsemicro.com>
Link: https://lore.kernel.org/r/20210227055815.14838-1-bassem@morsemicro.com
[reformatting]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/status.c

index 9baf185..b6ef96a 100644 (file)
@@ -1006,12 +1006,11 @@ static void __ieee80211_tx_status(struct ieee80211_hw *hw,
            ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS) &&
            !(info->flags & IEEE80211_TX_CTL_INJECTED) &&
            local->ps_sdata && !(local->scanning)) {
-               if (info->flags & IEEE80211_TX_STAT_ACK) {
+               if (info->flags & IEEE80211_TX_STAT_ACK)
                        local->ps_sdata->u.mgd.flags |=
                                        IEEE80211_STA_NULLFUNC_ACKED;
-               } else
-                       mod_timer(&local->dynamic_ps_timer, jiffies +
-                                       msecs_to_jiffies(10));
+               mod_timer(&local->dynamic_ps_timer,
+                         jiffies + msecs_to_jiffies(10));
        }
 
        ieee80211_report_used_skb(local, skb, false);