linux-stable/drivers/net/wireless
Larry Finger 37b12dd2b0 rtl8187: Fix kernel oops when device is removed when LEDS enabled
As reported by Rick Farina (sidhayn@gmail.com), removing the RTL8187
USB stick, or unloading the driver rtl8187 using rmmod will cause a
kernel oops.  There are at least two forms of the failure, (1) BUG:
Scheduling while atomic, and (2) a fatal kernel page fault. This
problem is reported in Bugzilla #14539.

This problem does not occur for kernel 2.6.31, but does for 2.6.32-rc2,
thus it is technically a regression; however, bisection did not locate
any faulty patch. The fix was found by comparing the faulty code in
rtl8187 with p54usb.  My interpretation is that the handling of work
queues in mac80211 changed enough to the LEDs to be unregistered
before tasks on the work queues are cancelled. Previously, these
actions could be done in either order.

(Herton Ronaldo Krzesinski <herton@mandriva.com.br> reports that the
code is the same in 2.6.31, so this may be a candidate for 2.6.31.x.
-- JWL)

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Reported-by: Rick Farina <sidhayn@gmail.com>
Tested-by: Rick Farina <sidhayn@gmail.com>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-11-04 19:20:50 -05:00
..
ath ath9k: fix misplaced semicolon on rate control 2009-10-30 15:50:25 -04:00
b43 b43: Fix DMA TX bounce buffer copying 2009-10-30 15:50:25 -04:00
b43legacy
hostap hostap: Revert a toxic part of the conversion to net_device_ops 2009-09-23 11:35:39 -04:00
ipw2x00 ipw2200: fix oops on missing firmware 2009-10-30 15:50:24 -04:00
iwlwifi iwlwifi: change the order of freeing memory 2009-10-12 15:55:52 -04:00
iwmc3200wifi
libertas libertas if_usb: Fix crash on 64-bit machines 2009-10-30 15:50:25 -04:00
libertas_tf
orinoco
p54 p54usb: add Zcomax XG-705A usbid 2009-09-23 11:35:41 -04:00
prism54
rt2x00 rt73usb.c : more ids 2009-10-30 15:50:24 -04:00
rtl818x rtl8187: Fix kernel oops when device is removed when LEDS enabled 2009-11-04 19:20:50 -05:00
wl12xx Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-09-24 15:13:11 -07:00
zd1211rw Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-09-24 15:13:11 -07:00
adm8211.c
adm8211.h mac80211: fix ADM8211_SYNCTL_RFtype define 2009-10-07 16:33:51 -04:00
airo.c airo: Reorder tests, check bounds before element 2009-10-27 16:29:49 -04:00
airo.h
airo_cs.c
arlan-main.c
arlan-proc.c sysctl: remove "struct file *" argument of ->proc_handler 2009-09-24 07:21:04 -07:00
arlan.h
at76c50x-usb.c
at76c50x-usb.h
atmel.c
atmel.h
atmel_cs.c
atmel_pci.c
i82586.h
i82593.h
Kconfig Kconfig: STRIP: Remove stale bits of STRIP help text 2009-10-01 14:49:14 -07:00
mac80211_hwsim.c mac80211_hwsim: Fix initial beacon timer configuration 2009-09-29 17:25:16 -04:00
Makefile
mwl8k.c
netwave_cs.c
ray_cs.c
ray_cs.h
rayctl.h
rndis_wlan.c
strip.c
wavelan.c
wavelan.h
wavelan.p.h
wavelan_cs.c
wavelan_cs.h
wavelan_cs.p.h
wl3501.h
wl3501_cs.c
zd1201.c
zd1201.h