diff options
author | Ingo Molnar <mingo@elte.hu> | 2010-12-19 16:35:08 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-12-19 16:35:14 +0100 |
commit | ca680888d5d0d03862ec311a83c6a1c7a1e00a01 (patch) | |
tree | bc2a1777f1d715f947fa77940ebce5c43029b37b /net/mac80211/rx.c | |
parent | 40dc11ffb35e8c4e8fa71092048e0f8de9db758c (diff) | |
parent | b0c3844d8af6b9f3f18f31e1b0502fbefa2166be (diff) |
Merge commit 'v2.6.37-rc6' into sched/core
Merge reason: Update to the latest -rc.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 902b03ee8f6..54fb4a0e76f 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -2247,6 +2247,10 @@ ieee80211_rx_h_mgmt(struct ieee80211_rx_data *rx) break; case cpu_to_le16(IEEE80211_STYPE_DEAUTH): case cpu_to_le16(IEEE80211_STYPE_DISASSOC): + if (is_multicast_ether_addr(mgmt->da) && + !is_broadcast_ether_addr(mgmt->da)) + return RX_DROP_MONITOR; + /* process only for station */ if (sdata->vif.type != NL80211_IFTYPE_STATION) return RX_DROP_MONITOR; @@ -2741,6 +2745,7 @@ static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw, if (ieee80211_prepare_and_rx_handle(&rx, skb, true)) return; + goto out; } } @@ -2780,6 +2785,7 @@ static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw, return; } + out: dev_kfree_skb(skb); } |