diff options
author | David S. Miller <davem@davemloft.net> | 2009-07-31 04:22:43 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-07-31 04:22:43 +0200 |
commit | df597efb5737063497f1a4f7c996cc9aec294230 (patch) | |
tree | 17bb60f68ee299d9717038197a932501625f1621 /net/mac80211/rx.c | |
parent | xfrm: select sane defaults for xfrm[4|6] gc_thresh (diff) | |
parent | ixgbe: Fix RSC completion delay causing Rx interrupts to stop (diff) | |
download | linux-df597efb5737063497f1a4f7c996cc9aec294230.tar.xz linux-df597efb5737063497f1a4f7c996cc9aec294230.zip |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/net/wireless/iwlwifi/iwl-3945.h
drivers/net/wireless/iwlwifi/iwl-tx.c
drivers/net/wireless/iwlwifi/iwl3945-base.c
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 66c797cc85ce..b6ddde3848fb 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -2439,6 +2439,18 @@ void __ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb) return; } + /* + * If we're suspending, it is possible although not too likely + * that we'd be receiving frames after having already partially + * quiesced the stack. We can't process such frames then since + * that might, for example, cause stations to be added or other + * driver callbacks be invoked. + */ + if (unlikely(local->quiescing || local->suspended)) { + kfree_skb(skb); + return; + } + if (status->flag & RX_FLAG_HT) { /* rate_idx is MCS index */ if (WARN_ON(status->rate_idx < 0 || |