android_kernel_motorola_sm6225/drivers/net/wireless
Ivo van Doorn 980dfcb932 rt2x00: Fix lock dependency errror
This fixes a circular locking dependency in the workqueue handling.
The interface work task uses the mac80211 function
ieee80211_iterate_active_interfaces() which grabs the RTNL lock.

However when the interface is brough down, this happens under the RTNL
lock as well, this causes problems because mac80211 will flush the workqueue
during the ifdown event. This causes mac80211 to wait until the driver has
completed all work which can't finish because it is waiting on the RTNL lock.

This is fixed by moving rt2x00 workqueue tasks on a different workqueue,
this workqueue can be flushed when the ieee80211_hw structure is removed
by the driver (when the driver is unloaded) which does not happen under the
RTNL lock.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-06-27 14:49:52 -04:00
..
ath5k ath5k: Fix loop variable initializations 2008-05-20 17:48:12 -04:00
b43 b43: Fix possible MMIO access while device is down 2008-06-25 10:55:09 -04:00
b43legacy b43legacy: Fix possible NULL pointer dereference in DMA code 2008-06-25 10:56:16 -04:00
hostap net: Eliminate flush_scheduled_work() calls while RTNL is held. 2008-06-12 02:22:02 -07:00
iwlwifi iwlwifi: improve scanning band selection management 2008-06-25 10:57:03 -04:00
libertas libertas: fix sleep confirmation 2008-06-09 15:50:20 -04:00
p54 USB ID for Philips CPWUA054/00 Wireless USB Adapter 11g 2008-06-04 15:57:11 -04:00
prism54 prism54: fix regression with missing carrier in AP-mode 2008-05-12 21:18:04 -04:00
rt2x00 rt2x00: Fix lock dependency errror 2008-06-27 14:49:52 -04:00
zd1211rw zd1211rw: Fix data padding for QoS 2008-06-09 15:50:20 -04:00
adm8211.c adm8211: remove commented-out code 2008-04-08 16:44:45 -04:00
adm8211.h
airo.c airo warning fix 2008-06-04 15:57:10 -04:00
airo.h
airo_cs.c
airport.c
arlan-main.c
arlan-proc.c
arlan.h
atmel.c byteorder: don't directly include linux/byteorder/generic.h 2008-05-16 12:01:45 -07:00
atmel.h
atmel_cs.c
atmel_pci.c
hermes.c
hermes.h
hermes_rid.h
i82586.h
i82593.h
ipw2100.c
ipw2100.h
ipw2200.c ipw2200: queue direct scans 2008-06-09 15:50:16 -04:00
ipw2200.h ipw2200: queue direct scans 2008-06-09 15:50:16 -04:00
Kconfig p54: move to separate directory 2008-04-08 16:44:45 -04:00
Makefile iwlwifi: Allow building iwl3945 without iwl4965. 2008-04-27 15:38:30 -07:00
netwave_cs.c
orinoco.c
orinoco.h
orinoco_cs.c orinoco_cs: add ID for SpeedStream wireless adapters 2008-05-20 17:55:30 -04:00
orinoco_nortel.c
orinoco_pci.c
orinoco_pci.h
orinoco_plx.c
orinoco_tmd.c
ray_cs.c proc: switch /proc/driver/ray_cs/ray_cs to seq_file interface 2008-04-16 15:59:56 -04:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: add missing range check for power_output modparam 2008-05-28 16:43:48 -04:00
rtl818x.h
rtl8180.h
rtl8180_dev.c endianness annotations: drivers/net/wireless/rtl8180_dev.c 2008-04-01 17:13:16 -04:00
rtl8180_grf5101.c rtl8180: fix wrong parameter in grf5101_rf_set_channel 2008-05-28 16:43:40 -04:00
rtl8180_grf5101.h
rtl8180_max2820.c rtl8180: fix wrong parameter in max2820_rf_set_channel 2008-05-28 16:43:39 -04:00
rtl8180_max2820.h
rtl8180_rtl8225.c
rtl8180_rtl8225.h
rtl8180_sa2400.c rtl8180: fix wrong parameter in sa2400_rf_set_channel 2008-05-28 16:43:38 -04:00
rtl8180_sa2400.h
rtl8187.h
rtl8187_dev.c rtl8187: resource leak in error case 2008-05-20 17:55:29 -04:00
rtl8187_rtl8225.c
rtl8187_rtl8225.h
spectrum_cs.c
strip.c strip: Fix termios assumption 2008-05-12 07:27:38 -07:00
wavelan.c wavelan: avoid index past end of array if DEBUG_SHOW_UNUSED is defined 2008-05-12 21:18:05 -04:00
wavelan.h
wavelan.p.h
wavelan_cs.c wavelan: avoid index past end of array if DEBUG_SHOW_UNUSED is defined 2008-05-12 21:18:05 -04:00
wavelan_cs.h
wavelan_cs.p.h wavelan_cs: stop inlining largish static functions 2008-04-08 15:05:57 -04:00
wl3501.h
wl3501_cs.c
zd1201.c
zd1201.h