mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-26 20:44:32 +08:00
773b4e02be
This patch addresses an issue with the locking order. ath_rx_flush_tid() uses spin_lock/unlock_bh when IRQs are disabled in sta_notify by mac80211. As node clean up is still pending with ath9k and this problematic portion of the code is expected to change anyway, thinking of a proper fix may not be worthwhile. So having this interim fix helps the users to get rid of the kernel warning message. Pasted the kernel warning message for reference. kernel: ath0: No ProbeResp from current AP 00:1b:11:60:7a:3d - assume out of range kernel: ------------[ cut here ]------------ kernel: WARNING: at kernel/softirq.c:136 local_bh_enable+0x3c/0xab() kernel: Pid: 1029, comm: ath9k Not tainted 2.6.27-rc4-wt-w1fi-wl kernel: kernel: Call Trace: kernel: [<ffffffff802278d8>] warn_on_slowpath+0x51/0x77 kernel: [<ffffffff80224c51>] check_preempt_wakeup+0xf3/0x123 kernel: [<ffffffff80239658>] autoremove_wake_function+0x9/0x2e kernel: [<ffffffff8022c281>] local_bh_enable+0x3c/0xab kernel: [<ffffffffa01ab75a>] ath_rx_node_cleanup+0x38/0x6e [ath9k] kernel: [<ffffffffa01b2280>] ath_node_detach+0x3b/0xb6 [ath9k] kernel: [<ffffffffa01ab09f>] ath9k_sta_notify+0x12b/0x165 [ath9k] kernel: [<ffffffff802366cf>] queue_work+0x1d/0x49 kernel: [<ffffffffa018c3fc>] add_todo+0x70/0x99 [mac80211] kernel: [<ffffffffa017de76>] __sta_info_unlink+0x16b/0x19e [mac80211] kernel: [<ffffffffa017e6ed>] sta_info_unlink+0x18/0x43 [mac80211] kernel: [<ffffffffa0182732>] ieee80211_associated+0xaa/0x16d [mac80211] kernel: [<ffffffffa0184a1a>] ieee80211_sta_work+0x4fb/0x6b4 [mac80211] kernel: [<ffffffff80469c58>] thread_return+0x30/0xa9 kernel: [<ffffffffa018451f>] ieee80211_sta_work+0x0/0x6b4 [mac80211] kernel: [<ffffffff802362c2>] run_workqueue+0xb1/0x17a kernel: [<ffffffff80236be9>] worker_thread+0xd0/0xdb kernel: [<ffffffff8023964f>] autoremove_wake_function+0x0/0x2e kernel: [<ffffffff80236b19>] worker_thread+0x0/0xdb kernel: [<ffffffff8023954a>] kthread+0x47/0x75 kernel: [<ffffffff80223121>] schedule_tail+0x18/0x50 kernel: [<ffffffff8020bc49>] child_rip+0xa/0x11 kernel: [<ffffffff80239503>] kthread+0x0/0x75 kernel: [<ffffffff8020bc3f>] child_rip+0x0/0x11 kernel: kernel: ---[ end trace e9bb5da661055827 ]--- Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> |
||
---|---|---|
.. | ||
ath5k | ||
ath9k | ||
b43 | ||
b43legacy | ||
hostap | ||
iwlwifi | ||
libertas | ||
p54 | ||
prism54 | ||
rt2x00 | ||
zd1211rw | ||
adm8211.c | ||
adm8211.h | ||
airo_cs.c | ||
airo.c | ||
airo.h | ||
airport.c | ||
arlan-main.c | ||
arlan-proc.c | ||
arlan.h | ||
atmel_cs.c | ||
atmel_pci.c | ||
atmel.c | ||
atmel.h | ||
hermes_rid.h | ||
hermes.c | ||
hermes.h | ||
i82586.h | ||
i82593.h | ||
ipw2100.c | ||
ipw2100.h | ||
ipw2200.c | ||
ipw2200.h | ||
Kconfig | ||
mac80211_hwsim.c | ||
Makefile | ||
netwave_cs.c | ||
orinoco_cs.c | ||
orinoco_nortel.c | ||
orinoco_pci.c | ||
orinoco_pci.h | ||
orinoco_plx.c | ||
orinoco_tmd.c | ||
orinoco.c | ||
orinoco.h | ||
ray_cs.c | ||
ray_cs.h | ||
rayctl.h | ||
rndis_wlan.c | ||
rtl818x.h | ||
rtl8180_dev.c | ||
rtl8180_grf5101.c | ||
rtl8180_grf5101.h | ||
rtl8180_max2820.c | ||
rtl8180_max2820.h | ||
rtl8180_rtl8225.c | ||
rtl8180_rtl8225.h | ||
rtl8180_sa2400.c | ||
rtl8180_sa2400.h | ||
rtl8180.h | ||
rtl8187_dev.c | ||
rtl8187_rtl8225.c | ||
rtl8187_rtl8225.h | ||
rtl8187.h | ||
spectrum_cs.c | ||
strip.c | ||
wavelan_cs.c | ||
wavelan_cs.h | ||
wavelan_cs.p.h | ||
wavelan.c | ||
wavelan.h | ||
wavelan.p.h | ||
wl3501_cs.c | ||
wl3501.h | ||
zd1201.c | ||
zd1201.h |