Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 183877
b: refs/heads/master
c: 4bb29f8
h: refs/heads/master
i:
  183875: 0f9117a
v: v3
  • Loading branch information
Felix Fietkau authored and John W. Linville committed Jan 22, 2010
1 parent f11b706 commit 5bd59a0
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 18 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 58da1318ee92ad3fe7917278d596768bbe441850
refs/heads/master: 4bb29f8c390fb7be207ec3f11b9d30ccdf1cb6ac
45 changes: 28 additions & 17 deletions trunk/net/mac80211/rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -2348,22 +2348,6 @@ static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw,
sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
continue;

rx.sta = sta_info_get(sdata, hdr->addr2);

rx.flags |= IEEE80211_RX_RA_MATCH;
prepares = prepare_for_handlers(sdata, &rx, hdr);

if (!prepares)
continue;

if (status->flag & RX_FLAG_MMIC_ERROR) {
rx.sdata = sdata;
if (rx.flags & IEEE80211_RX_RA_MATCH)
ieee80211_rx_michael_mic_report(hdr,
&rx);
continue;
}

/*
* frame is destined for this interface, but if it's
* not also for the previous one we handle that after
Expand All @@ -2375,6 +2359,22 @@ static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw,
continue;
}

rx.sta = sta_info_get(prev, hdr->addr2);

rx.flags |= IEEE80211_RX_RA_MATCH;
prepares = prepare_for_handlers(prev, &rx, hdr);

if (!prepares)
goto next;

if (status->flag & RX_FLAG_MMIC_ERROR) {
rx.sdata = prev;
if (rx.flags & IEEE80211_RX_RA_MATCH)
ieee80211_rx_michael_mic_report(hdr,
&rx);
goto next;
}

/*
* frame was destined for the previous interface
* so invoke RX handlers for it
Expand All @@ -2387,11 +2387,22 @@ static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw,
"multicast frame for %s\n",
wiphy_name(local->hw.wiphy),
prev->name);
continue;
goto next;
}
ieee80211_invoke_rx_handlers(prev, &rx, skb_new, rate);
next:
prev = sdata;
}

if (prev) {
rx.sta = sta_info_get(prev, hdr->addr2);

rx.flags |= IEEE80211_RX_RA_MATCH;
prepares = prepare_for_handlers(prev, &rx, hdr);

if (!prepares)
prev = NULL;
}
}
if (prev)
ieee80211_invoke_rx_handlers(prev, &rx, skb, rate);
Expand Down

0 comments on commit 5bd59a0

Please sign in to comment.