1 --- a/net/mac80211/rx.c
2 +++ b/net/mac80211/rx.c
3 @@ -2348,22 +2348,6 @@ static void __ieee80211_rx_handle_packet
4 sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
7 - rx.sta = sta_info_get(sdata, hdr->addr2);
9 - rx.flags |= IEEE80211_RX_RA_MATCH;
10 - prepares = prepare_for_handlers(sdata, &rx, hdr);
15 - if (status->flag & RX_FLAG_MMIC_ERROR) {
17 - if (rx.flags & IEEE80211_RX_RA_MATCH)
18 - ieee80211_rx_michael_mic_report(hdr,
24 * frame is destined for this interface, but if it's
25 * not also for the previous one we handle that after
26 @@ -2375,6 +2359,22 @@ static void __ieee80211_rx_handle_packet
30 + rx.sta = sta_info_get(prev, hdr->addr2);
32 + rx.flags |= IEEE80211_RX_RA_MATCH;
33 + prepares = prepare_for_handlers(prev, &rx, hdr);
38 + if (status->flag & RX_FLAG_MMIC_ERROR) {
40 + if (rx.flags & IEEE80211_RX_RA_MATCH)
41 + ieee80211_rx_michael_mic_report(hdr,
47 * frame was destined for the previous interface
48 * so invoke RX handlers for it
49 @@ -2387,11 +2387,22 @@ static void __ieee80211_rx_handle_packet
50 "multicast frame for %s\n",
51 wiphy_name(local->hw.wiphy),
56 ieee80211_invoke_rx_handlers(prev, &rx, skb_new, rate);
62 + rx.sta = sta_info_get(prev, hdr->addr2);
64 + rx.flags |= IEEE80211_RX_RA_MATCH;
65 + prepares = prepare_for_handlers(prev, &rx, hdr);
72 ieee80211_invoke_rx_handlers(prev, &rx, skb, rate);