diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index b5f59ed240004720b6ede13e1654dbdaa2b2c5b2..50c2c881249d7ea051a1f222a69461781b7f69c6 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -2646,7 +2646,8 @@ static int prepare_for_handlers(struct ieee80211_rx_data *rx, return 0; if (!multicast && compare_ether_addr(sdata->vif.addr, hdr->addr1) != 0) { - if (!(sdata->dev->flags & IFF_PROMISC)) + if (!(sdata->dev->flags & IFF_PROMISC) || + sdata->u.mgd.use_4addr) return 0; status->rx_flags &= ~IEEE80211_RX_RA_MATCH; }