aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/300-pending_work.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/300-pending_work.patch')
-rw-r--r--package/mac80211/patches/300-pending_work.patch12
1 files changed, 11 insertions, 1 deletions
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
index fd7417b44b..71cc860bdb 100644
--- a/package/mac80211/patches/300-pending_work.patch
+++ b/package/mac80211/patches/300-pending_work.patch
@@ -3105,7 +3105,17 @@
break;
case cpu_to_le16(IEEE80211_STYPE_ASSOC_RESP):
case cpu_to_le16(IEEE80211_STYPE_REASSOC_RESP):
-@@ -3031,10 +3060,16 @@ static int prepare_for_handlers(struct i
+@@ -3023,6 +3052,9 @@ static int prepare_for_handlers(struct i
+ * and location updates. Note that mac80211
+ * itself never looks at these frames.
+ */
++ if (!multicast &&
++ !ether_addr_equal(sdata->vif.addr, hdr->addr1))
++ return 0;
+ if (ieee80211_is_public_action(hdr, skb->len))
+ return 1;
+ if (!ieee80211_is_beacon(hdr->frame_control))
+@@ -3031,10 +3063,16 @@ static int prepare_for_handlers(struct i
}
break;
case NL80211_IFTYPE_WDS: