From acf618fa8014428e9b14369ad8b5e8bd25684b05 Mon Sep 17 00:00:00 2001 From: "John W. Linville" Date: Fri, 24 Sep 2010 15:52:49 -0400 Subject: [PATCH] --- yaml --- r: 214869 b: refs/heads/master c: 7c1e183186377e84e6f4e457be0514887f2df4ef h: refs/heads/master i: 214867: 12910efed07e0a3f1d16dc970c45ad85f9c9b4a9 v: v3 --- [refs] | 2 +- trunk/net/mac80211/rx.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index c09a8f151e3a..8e87199cbd14 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 92e44948b2b3b2db8f39f17033f98ae2356156a5 +refs/heads/master: 7c1e183186377e84e6f4e457be0514887f2df4ef diff --git a/trunk/net/mac80211/rx.c b/trunk/net/mac80211/rx.c index 50c0803a63ba..29a582df6371 100644 --- a/trunk/net/mac80211/rx.c +++ b/trunk/net/mac80211/rx.c @@ -2286,6 +2286,9 @@ static void ieee80211_rx_cooked_monitor(struct ieee80211_rx_data *rx, struct net_device *prev_dev = NULL; struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb); + if (status->flag & RX_FLAG_INTERNAL_CMTR) + goto out_free_skb; + if (skb_headroom(skb) < sizeof(*rthdr) && pskb_expand_head(skb, sizeof(*rthdr), 0, GFP_ATOMIC)) goto out_free_skb; @@ -2344,6 +2347,7 @@ static void ieee80211_rx_cooked_monitor(struct ieee80211_rx_data *rx, } else goto out_free_skb; + status->flag |= RX_FLAG_INTERNAL_CMTR; return; out_free_skb: