From: Janusz.Dziedzic@tieto.com Date: Mon, 7 Nov 2011 07:47:47 +0000 (+0200) Subject: mac80211: uAPSD - fix IEEE80211_FCTL_MOREDATA bit setting X-Git-Tag: upstream/snapshot3+hdmi~8468^2^2~55 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=24b9c373ab787ccacfa2c46736153708796f5cd6;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git mac80211: uAPSD - fix IEEE80211_FCTL_MOREDATA bit setting Set IEEE80211_FCTL_MOREDATA bit also in case we have buffered frames (more than one) only for one AC. Signed-off-by: Janusz Dziedzic Reviewed-by: Johannes Berg Signed-off-by: John W. Linville --- diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c index ce962d2..8eaa746 100644 --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c @@ -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))