]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211: close the SP when we enqueue frames during the SP
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Thu, 17 Mar 2016 14:51:42 +0000 (16:51 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 5 Apr 2016 09:33:49 +0000 (11:33 +0200)
commite6ff5365baf3e8daad260abfa4e04ca743de75b3
tree6de26dd2c4395d0915a8431ff6d43def09d21435
parentaac4b068d7120505f88d56e6c988d5e48f567d0a
mac80211: close the SP when we enqueue frames during the SP

Since we enqueued the frame that was supposed to be sent
during the SP, and that frame may very well cary the
IEEE80211_TX_STATUS_EOSP bit, we may never close the SP
(WLAN_STA_SP will never be cleared). If that happens, we
will not open any new SP and will never respond to any poll
frame from the client.
Clear WLAN_STA_SP manually if a frame that was polled during
the SP is queued because of a starting A-MPDU session. The
client may not see the EOSP bit, but it will at least be
able to poll new frames in another SP.

Reported-by: Alesya Shapira <alesya.shapira@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
[remove erroneous comment]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/tx.c