linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* stall receiving change PS notification
@ 2021-02-24  8:11 Bassem Fahmy
  0 siblings, 0 replies; only message in thread
From: Bassem Fahmy @ 2021-02-24  8:11 UTC (permalink / raw)
  To: linux-wireless, johannes

Hi Jahannes, All,

I'm trying to get our WiFi driver to get power save  notifications
from the mac80211. For this I have set the below flags:

ieee80211_hw_set(hw, SUPPORTS_PS);
ieee80211_hw_set(hw, PS_NULLFUNC_STACK);

My tracing  shows that, once power save is enabled, we get a QoS NULL
Function packet. mac80211 is then waiting  for the ACK confirmation of
the packet. However even when this ACK is received (in the tx_status),
no change notification is sent to the driver.

The code below (in __ieee80211_tx_status), indicates that we set the
IEEE80211_STA_NULLFUNC_ACKED flag (for the managed interface), yet we
don't invoke ieee80211_dynamic_ps_enable_work (to notify the change of
PS state).

should we be calling the dynamic_ps_timer again or am I missing something?


if (ieee80211_is_any_nullfunc(fc) &&
   ieee80211_has_pm(fc) &&
   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) {
           local->ps_sdata->u.mgd.flags |=
                            IEEE80211_STA_NULLFUNC_ACKED;
       } else
           mod_timer(&local->dynamic_ps_timer, jiffies +
                       msecs_to_jiffies(10));
      }
}

Thanks
Bassem

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-02-24  8:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-24  8:11 stall receiving change PS notification Bassem Fahmy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).