From: Johannes Berg Date: Thu, 18 Apr 2013 21:42:19 +0000 (+0200) Subject: mac80211: fix P2P-Device management frame RX X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=1b737f88dc1b05cf571e96d42f748aaff6df1eb5;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git mac80211: fix P2P-Device management frame RX There's an issue in receiving broadcast management frames on P2P Device virtual interfaces, such frames have the RX flag IEEE80211_RX_RA_MATCH cleared and are thus dropped in ieee80211_rx_h_mgmt_check(). They should be let through to make it to ieee80211_rx_h_userspace_mgmt() and then to userspace. Signed-off-by: Johannes Berg --- diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 643fcf7c9dcd..14b32a4cd7bb 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -3043,7 +3043,8 @@ static int prepare_for_handlers(struct ieee80211_rx_data *rx, !ieee80211_is_probe_resp(hdr->frame_control) && !ieee80211_is_beacon(hdr->frame_control)) return 0; - if (!ether_addr_equal(sdata->vif.addr, hdr->addr1)) + if (!ether_addr_equal(sdata->vif.addr, hdr->addr1) && + !multicast) status->rx_flags &= ~IEEE80211_RX_RA_MATCH; break; default: