bianbu-linux-6.6/drivers/net/wireless/rt2x00
Gertjan van Wingerde ed66ba472a rt2x00: Fix sleep-while-atomic bug in powersaving code.
The generic powersaving code that determines after reception of a frame
whether the device should go back to sleep or whether is could stay
awake was calling rt2x00lib_config directly from RX tasklet context.
On a number of the devices this call can actually sleep, due to having
to confirm that the sleeping commands have been executed successfully.

Fix this by moving the call to rt2x00lib_config to a workqueue call.

This fixes bug https://bugzilla.redhat.com/show_bug.cgi?id=731672

Tested-by: Tomas Trnka <tomastrnka@gmx.com>
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Cc: <stable@vger.kernel.org>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-11-15 10:02:56 -05:00
..
Kconfig rt2x00: Enabled rt35xx device support by default. 2011-06-01 15:10:59 -04:00
Makefile rt2x00: Merge rt2x00ht.c contents in other files. 2011-04-19 15:39:56 -04:00
rt2x00.h rt2x00: Fix sleep-while-atomic bug in powersaving code. 2011-11-15 10:02:56 -05:00
rt2x00config.c rt2x00: fix rmmod crash 2011-06-06 15:24:18 -04:00
rt2x00crypto.c rt2x00: Don't use queue entry as parameter when creating TX descriptor. 2011-07-07 13:20:58 -04:00
rt2x00debug.c rt2x00: Split rt2x00dev->flags 2011-04-19 15:39:11 -04:00
rt2x00debug.h
rt2x00dev.c rt2x00: Fix sleep-while-atomic bug in powersaving code. 2011-11-15 10:02:56 -05:00
rt2x00dump.h
rt2x00firmware.c rt2x00: Split rt2x00dev->flags 2011-04-19 15:39:11 -04:00
rt2x00leds.c
rt2x00leds.h
rt2x00lib.h rt2x00: Fix compilation without CONFIG_RT2X00_LIB_CRYPTO 2011-08-02 13:48:14 -04:00
rt2x00link.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-04-25 14:34:25 -04:00
rt2x00mac.c mac80211: pass vif param to conf_tx() callback 2011-10-03 15:22:41 -04:00
rt2x00pci.c rt2x00: Allow dynamic addition of PCI/USB IDs. 2011-04-19 15:39:45 -04:00
rt2x00pci.h rt2x00: Allow dynamic addition of PCI/USB IDs. 2011-04-19 15:39:45 -04:00
rt2x00queue.c rt2x00: Add WCID to HT TX descriptor 2011-09-14 13:56:56 -04:00
rt2x00queue.h rt2x00: Add WCID to HT TX descriptor 2011-09-14 13:56:56 -04:00
rt2x00reg.h
rt2x00soc.c
rt2x00soc.h
rt2x00usb.c rt2x00: do not drop usb dev reference counter on suspend 2011-08-22 14:21:40 -04:00
rt2x00usb.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-05-05 13:32:35 -04:00
rt61pci.c mac80211: pass vif param to conf_tx() callback 2011-10-03 15:22:41 -04:00
rt61pci.h
rt73usb.c mac80211: pass vif param to conf_tx() callback 2011-10-03 15:22:41 -04:00
rt73usb.h
rt2400pci.c mac80211: pass vif param to conf_tx() callback 2011-10-03 15:22:41 -04:00
rt2400pci.h
rt2500pci.c mac80211: add ieee80211_vif param to tsf functions 2011-09-27 14:27:48 -04:00
rt2500pci.h
rt2500usb.c rt2x00: Implement tx_frames_pending mac80211 callback function. 2011-07-07 13:21:00 -04:00
rt2500usb.h
rt2800.h rt2x00: Add LED_CFG register description 2011-09-14 13:56:45 -04:00
rt2800lib.c mac80211: pass vif param to conf_tx() callback 2011-10-03 15:22:41 -04:00
rt2800lib.h mac80211: pass vif param to conf_tx() callback 2011-10-03 15:22:41 -04:00
rt2800pci.c rt2x00: Make use of sta_add/remove callbacks in rt2800 2011-09-14 13:56:56 -04:00
rt2800pci.h
rt2800usb.c rt2x00: Add USB device ID of Buffalo WLI-UC-GNHP. 2011-11-15 10:02:56 -05:00
rt2800usb.h