| From 051a41fa4ee14f5c39668f0980973b9a195de560 Mon Sep 17 00:00:00 2001 |
| From: Johannes Berg <johannes.berg@intel.com> |
| Date: Wed, 20 Nov 2013 11:28:27 +0100 |
| Subject: mac80211: don't attempt to reorder multicast frames |
| |
| From: Johannes Berg <johannes.berg@intel.com> |
| |
| commit 051a41fa4ee14f5c39668f0980973b9a195de560 upstream. |
| |
| Multicast frames can't be transmitted as part of an aggregation |
| session (such a session couldn't even be set up) so don't try to |
| reorder them. Trying to do so would cause the reorder to stop |
| working correctly since multicast QoS frames (as transmitted by |
| the Aruba APs this was found with) would cause sequence number |
| confusion in the buffer. |
| |
| Reported-by: Blaise Gassend <blaise@suitabletech.com> |
| Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| net/mac80211/rx.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/net/mac80211/rx.c |
| +++ b/net/mac80211/rx.c |
| @@ -763,7 +763,8 @@ static void ieee80211_rx_reorder_ampdu(s |
| u16 sc; |
| u8 tid, ack_policy; |
| |
| - if (!ieee80211_is_data_qos(hdr->frame_control)) |
| + if (!ieee80211_is_data_qos(hdr->frame_control) || |
| + is_multicast_ether_addr(hdr->addr1)) |
| goto dont_reorder; |
| |
| /* |