Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 24b9c373 authored by Janusz.Dziedzic@tieto.com's avatar Janusz.Dziedzic@tieto.com Committed by John W. Linville
Browse files

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: default avatarJanusz Dziedzic <janusz.dziedzic@tieto.com>
Reviewed-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent db652e4b
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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))