alistair23-linux/drivers
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
..
accessibility
acorn/char
acpi ACPICA: fix stray va_end() caused by mis-merge 2008-06-11 19:13:47 -04:00
amba
ata ahci: Workaround HW bug for SB600/700 SATA controller PMP support 2008-06-13 02:46:55 -04:00
atm atm: [he] send idle cells instead of unassigned when in SDH mode 2008-06-16 17:21:27 -07:00
auxdisplay
base dev_set_name: fix missing kernel-doc 2008-06-11 16:50:40 -07:00
block cciss: add new hardware support 2008-06-12 18:05:40 -07:00
bluetooth
cdrom [POWERPC] iSeries: Remove unused mail address 2008-05-23 16:45:04 +10:00
char rtc: make HPET_RTC_IRQ track HPET_EMULATE_RTC 2008-06-12 18:05:42 -07:00
clocksource
connector
cpufreq Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq 2008-06-09 11:27:55 -07:00
cpuidle cpuidle acpi driver: fix oops on AC<->DC 2008-06-11 19:13:45 -04:00
crypto
dca
dio
dma
edac edac: mpc85xx: fix building as a module 2008-05-24 09:56:13 -07:00
eisa
firewire
firmware edd: fix incorrect return of 1 from module_init 2008-06-06 11:29:09 -07:00
gpio gpiolib: fix off by one errors 2008-05-24 09:56:11 -07:00
hid
hwmon hdaps: fix module loading on Thinkpad T61P 2008-06-06 11:29:13 -07:00
i2c
ide fix BLK_DEV_HD_ONLY on ARM dependencies 2008-06-10 20:56:38 +02:00
ieee1394
infiniband IB/core: Remove IB_DEVICE_SEND_W_INV capability flag 2008-06-09 09:58:42 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2008-05-30 10:17:19 -07:00
isdn drivers/isdn/sc/ioctl.c: add missing kfree 2008-06-12 18:05:41 -07:00
leds
lguest virtio: set device index in common code. 2008-05-30 15:09:42 +10:00
macintosh
mca
md md: do not compute parity unless it is on a failed drive 2008-06-06 11:29:08 -07:00
media V4L/DVB (8001): dib0070: fix dib0070_attach when !CONFIG_DVB_TUNER_DIB0070 2008-06-05 10:26:21 -03:00
memstick
message [SCSI] fusion mpt: fix target missing after resetting external raid 2008-05-27 10:58:09 -05:00
mfd HTC_EGPIO is ARM-only 2008-05-21 16:56:00 -07:00
misc thinkpad-acpi: fix LED handling on older ThinkPads 2008-06-11 19:13:45 -04:00
mmc mmc: wbsd: initialize tasklets before requesting interrupt 2008-06-12 18:05:41 -07:00
mtd Merge git://git.infradead.org/~dwmw2/mtd-2.6.26 2008-06-06 11:31:18 -07:00
net rt2x00: Fix lock dependency errror 2008-06-27 14:49:52 -04:00
nubus
of rtc-ds1374: rename device to just "ds1374" 2008-06-06 11:29:10 -07:00
oprofile
parisc
parport
pci PCI: fix rpadlpar pci hotplug driver sysfs usage 2008-05-30 09:50:46 -07:00
pcmcia electra_cf: Add MODULE_DEVICE_TABLE() 2008-05-27 16:07:45 -05:00
pnp PNPACPI: use _CRS IRQ descriptor length for _SRS 2008-06-11 19:13:46 -04:00
power power_supply: Fix race in power_supply_uevent 2008-06-10 02:13:51 +04:00
ps3
rapidio
rtc rtc: Ramtron FM3130 RTC support 2008-06-12 18:05:42 -07:00
s390 Merge branch 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm 2008-06-11 10:35:44 -07:00
sbus sbus bpp: instances missed in s/dev_name/bpp_dev_name/ 2008-05-21 16:55:59 -07:00
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2008-06-04 08:36:09 -07:00
serial Blackfin serial driver: fix up tty core set_ldisc API change breakage bug 2008-06-07 15:36:33 +08:00
sh
sn
spi spi: fix refcount-related spidev oops-on-rmmod 2008-06-06 11:29:08 -07:00
ssb ssb: Fix coherent DMA mask for PCI devices 2008-06-13 16:14:52 -04:00
tc
telephony
thermal
uio
usb USB: don't use reset-resume if drivers don't support it 2008-06-11 17:06:33 -07:00
video Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-06-13 07:34:01 -07:00
virtio virtio: force callback on empty. 2008-05-30 15:09:46 +10:00
w1
watchdog drivers/watchdog/geodewdt.c: build fix 2008-05-30 10:16:58 -07:00
xen
zorro
Kconfig
Makefile