Skip to content

Commit

Permalink
mac80211: uAPSD - fix IEEE80211_FCTL_MOREDATA bit setting
Browse files Browse the repository at this point in the history
Set IEEE80211_FCTL_MOREDATA bit also in case we have buffered
frames (more than one) only for one AC.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Janusz.Dziedzic@tieto.com authored and John W. Linville committed Nov 7, 2011
1 parent db652e4 commit 24b9c37
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions net/mac80211/sta_info.c
Original file line number Diff line number Diff line change
Expand Up @@ -1354,12 +1354,12 @@ ieee80211_sta_ps_deliver_response(struct sta_info *sta,
* Use MoreData flag to indicate whether there are
* more buffered frames for this STA
*/
if (!more_data)
hdr->frame_control &=
cpu_to_le16(~IEEE80211_FCTL_MOREDATA);
else
if (more_data || !skb_queue_empty(&frames))
hdr->frame_control |=
cpu_to_le16(IEEE80211_FCTL_MOREDATA);
else
hdr->frame_control &=
cpu_to_le16(~IEEE80211_FCTL_MOREDATA);

if (ieee80211_is_data_qos(hdr->frame_control) ||
ieee80211_is_qos_nullfunc(hdr->frame_control))
Expand Down

0 comments on commit 24b9c37

Please sign in to comment.