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: