mac80211: handle MMPDUs at EOSP correctly
authorJohannes Berg <johannes.berg@intel.com>
Wed, 8 Jan 2014 23:00:38 +0000 (00:00 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 10 Jan 2014 08:50:02 +0000 (09:50 +0100)
commitb77cf4f8e1892e192ec52df5dd8c158b300fc496
treeae0ba22c24b9c125a004ae672113cf1b8236d4f7
parent03c8c06f2d080b841ecbfc63253228ba6efcab08
mac80211: handle MMPDUs at EOSP correctly

If a uAPSD service period ends with an MMPDU, we currently just
send that MMPDU, but it obviously won't get the EOSP bit set as
it doesn't have a QoS header. This contradicts the standard, so
add a QoS-nulldata frame after the MMPDU to properly terminate
the service period with a frame that has EOSP set.

Also fix a bug wrt. the TID for the MMPDU, it shouldn't be set
to 0 unconditionally but use the actual TID that was assigned.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/mac80211.h
net/mac80211/sta_info.c