diff options
author | John W. Linville <linville@tuxdriver.com> | 2010-09-24 15:52:34 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-09-24 15:52:34 -0400 |
commit | 29ad2facd47f8e37eab8b156e2c384fa181c8b4a (patch) | |
tree | 25d4df186cd631810ff15a8e7d37cb6cdd806cdb /net/mac80211 | |
parent | 6e5c2b4e8addfaab8ef54dedaf7b607e1585c35b (diff) | |
parent | cd87a2d3a33d75a646f1aa1aa2ee5bf712d6f963 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Conflicts:
drivers/net/wireless/ath/ath5k/base.c
net/mac80211/main.c
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/main.c | 6 | ||||
-rw-r--r-- | net/mac80211/rx.c | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 18fdeca43d98..7c8542627351 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
@@ -868,6 +868,12 @@ void ieee80211_unregister_hw(struct ieee80211_hw *hw) | |||
868 | 868 | ||
869 | rtnl_unlock(); | 869 | rtnl_unlock(); |
870 | 870 | ||
871 | /* | ||
872 | * Now all work items will be gone, but the | ||
873 | * timer might still be armed, so delete it | ||
874 | */ | ||
875 | del_timer_sync(&local->work_timer); | ||
876 | |||
871 | cancel_work_sync(&local->restart_work); | 877 | cancel_work_sync(&local->restart_work); |
872 | cancel_work_sync(&local->reconfig_filter); | 878 | cancel_work_sync(&local->reconfig_filter); |
873 | 879 | ||
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index c0368152b721..308e502a80eb 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
@@ -2286,9 +2286,6 @@ static void ieee80211_rx_cooked_monitor(struct ieee80211_rx_data *rx, | |||
2286 | struct net_device *prev_dev = NULL; | 2286 | struct net_device *prev_dev = NULL; |
2287 | struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb); | 2287 | struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb); |
2288 | 2288 | ||
2289 | if (status->flag & RX_FLAG_INTERNAL_CMTR) | ||
2290 | goto out_free_skb; | ||
2291 | |||
2292 | if (skb_headroom(skb) < sizeof(*rthdr) && | 2289 | if (skb_headroom(skb) < sizeof(*rthdr) && |
2293 | pskb_expand_head(skb, sizeof(*rthdr), 0, GFP_ATOMIC)) | 2290 | pskb_expand_head(skb, sizeof(*rthdr), 0, GFP_ATOMIC)) |
2294 | goto out_free_skb; | 2291 | goto out_free_skb; |
@@ -2347,7 +2344,6 @@ static void ieee80211_rx_cooked_monitor(struct ieee80211_rx_data *rx, | |||
2347 | } else | 2344 | } else |
2348 | goto out_free_skb; | 2345 | goto out_free_skb; |
2349 | 2346 | ||
2350 | status->flag |= RX_FLAG_INTERNAL_CMTR; | ||
2351 | return; | 2347 | return; |
2352 | 2348 | ||
2353 | out_free_skb: | 2349 | out_free_skb: |