diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index d78d6fc333d2c93ad85f2b8f4a6b16a993c08872..c08b8e90bbcb61160a6f10ffac27ada2bfec8234 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -2698,7 +2698,8 @@ static int prepare_for_handlers(struct ieee80211_rx_data *rx, return 0; } else if (!ieee80211_bssid_match(bssid, sdata->vif.addr)) { - if (!(status->rx_flags & IEEE80211_RX_IN_SCAN)) + if (!(status->rx_flags & IEEE80211_RX_IN_SCAN) && + !ieee80211_is_beacon(hdr->frame_control)) return 0; status->rx_flags &= ~IEEE80211_RX_RA_MATCH; }