diff options
author | John W. Linville <linville@tuxdriver.com> | 2011-01-28 16:23:14 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-01-28 16:23:14 -0500 |
commit | 3e11210d46a4f252f41db6e442b46026aeddbb59 (patch) | |
tree | b258375de649a5e04e8d567c850b47c41f8ceb11 /net/mac80211/main.c | |
parent | 3bf63e59e577cbecd41334c866f501c4cc5d54c5 (diff) | |
parent | c7c1806098752c1f46943d8db2c69aff07f5d4bc (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Conflicts:
drivers/net/wireless/ath/ath9k/init.c
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r-- | net/mac80211/main.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 1c507c6972e6..09a27449f3fd 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
@@ -39,6 +39,8 @@ module_param(ieee80211_disable_40mhz_24ghz, bool, 0644); | |||
39 | MODULE_PARM_DESC(ieee80211_disable_40mhz_24ghz, | 39 | MODULE_PARM_DESC(ieee80211_disable_40mhz_24ghz, |
40 | "Disable 40MHz support in the 2.4GHz band"); | 40 | "Disable 40MHz support in the 2.4GHz band"); |
41 | 41 | ||
42 | static struct lock_class_key ieee80211_rx_skb_queue_class; | ||
43 | |||
42 | void ieee80211_configure_filter(struct ieee80211_local *local) | 44 | void ieee80211_configure_filter(struct ieee80211_local *local) |
43 | { | 45 | { |
44 | u64 mc; | 46 | u64 mc; |
@@ -570,7 +572,15 @@ struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len, | |||
570 | spin_lock_init(&local->filter_lock); | 572 | spin_lock_init(&local->filter_lock); |
571 | spin_lock_init(&local->queue_stop_reason_lock); | 573 | spin_lock_init(&local->queue_stop_reason_lock); |
572 | 574 | ||
573 | skb_queue_head_init(&local->rx_skb_queue); | 575 | /* |
576 | * The rx_skb_queue is only accessed from tasklets, | ||
577 | * but other SKB queues are used from within IRQ | ||
578 | * context. Therefore, this one needs a different | ||
579 | * locking class so our direct, non-irq-safe use of | ||
580 | * the queue's lock doesn't throw lockdep warnings. | ||
581 | */ | ||
582 | skb_queue_head_init_class(&local->rx_skb_queue, | ||
583 | &ieee80211_rx_skb_queue_class); | ||
574 | 584 | ||
575 | INIT_DELAYED_WORK(&local->scan_work, ieee80211_scan_work); | 585 | INIT_DELAYED_WORK(&local->scan_work, ieee80211_scan_work); |
576 | 586 | ||