OSDN Git Service

mac80211: always update the PM state of a peer on MGMT / DATA frames
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Sun, 29 Oct 2017 09:51:07 +0000 (11:51 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 11 Dec 2017 11:18:43 +0000 (12:18 +0100)
commit9fef65443388a66a2c19835e2848a6ecf162710b
treef930db7ff58a1cfe998bd0d8bae82cffba45048c
parente16ea4bb516bc21ea2202f2107718b29218bea59
mac80211: always update the PM state of a peer on MGMT / DATA frames

The 2016 version of the spec is more generic about when the
AP should update the power management state of the peer:
the AP shall update the state based on any management or
data frames. This means that even non-bufferable management
frames should be looked at to update to maintain the power
management state of the peer.

This can avoid problematic cases for example if a station
disappears while being asleep and then re-appears. The AP
would remember it as in power save, but the Authentication
frame couldn't be used to set the peer as awake again.
Note that this issues wasn't really critical since at some
point (after the association) we would have removed the
station and created another one with all the states cleared.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/rx.c