linux/drivers/net/wireless/ath/ath9k
Luis R. Rodriguez 42935ecaf4 mac80211: redefine usage of the mac80211 workqueue
The mac80211 workqueue exists to enable mac80211 and drivers
to queue their own work on a single threaded workqueue. mac80211
takes care to flush the workqueue during suspend but we never
really had requirements on drivers for how they should use
the workqueue in consideration for suspend.

We extend mac80211 to document how the mac80211 workqueue should
be used, how it should not be used and finally move raw access to
the workqueue to mac80211 only. Drivers and mac80211 use helpers
to queue work onto the mac80211 workqueue:

  * ieee80211_queue_work()
  * ieee80211_queue_delayed_work()

These helpers will now warn if mac80211 already completed its
suspend cycle and someone is trying to queue work. mac80211
flushes the mac80211 workqueue prior to suspend a few times,
but we haven't taken the care to ensure drivers won't add more
work after suspend. To help with this we add a warning when
someone tries to add work and mac80211 already completed the
suspend cycle.

Drivers should ensure they cancel any work or delayed work
in the mac80211 stop() callback.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-04 16:44:14 -04:00
..
ahb.c
ani.c ath9k: Tune ANI function processing on AP mode during ANI reset 2009-07-21 12:07:43 -04:00
ani.h
ath9k.h ath9k: Add debug counters for TX 2009-07-29 15:46:09 -04:00
beacon.c ath9k: Make sure we configure a non-zero beacon interval 2009-07-10 14:57:41 -04:00
calib.c ath9k: Add support for AR9287 based chipsets. 2009-07-27 15:24:19 -04:00
calib.h ath9k: Manipulate and report the correct RSSI 2009-07-24 15:05:17 -04:00
debug.c ath9k: Add debug counters for TX 2009-07-29 15:46:09 -04:00
debug.h ath9k: Add debug counters for TX 2009-07-29 15:46:09 -04:00
eeprom.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2009-07-30 19:26:55 -07:00
eeprom.h ath9k: Add support for AR9287 based chipsets. 2009-07-27 15:24:19 -04:00
hw.c ath9k: Remove unused ath9k_hw_intrget() 2009-08-04 16:43:24 -04:00
hw.h ath9k: Remove unused ath9k_hw_intrget() 2009-08-04 16:43:24 -04:00
initvals.h ath9k: Add init values for AR9287 based chipsets. 2009-07-27 15:24:12 -04:00
Kconfig ath: simplify kconfig dependency and add documentation 2009-08-04 16:43:21 -04:00
mac.c ath9k: RX stucks during heavy traffic in HT40 mode. 2009-07-24 15:05:17 -04:00
mac.h
main.c mac80211: redefine usage of the mac80211 workqueue 2009-08-04 16:44:14 -04:00
Makefile
pci.c ath9k: Add support for AR9287 based chipsets. 2009-07-27 15:24:19 -04:00
phy.c
phy.h ath9k: Add support for AR9287 based chipsets. 2009-07-27 15:24:19 -04:00
rc.c ath9k: Maintain monotonicity of PER while going across different phy 2009-08-04 16:43:24 -04:00
rc.h ath9k: Nuke struct ath_tx_ratectrl_state 2009-07-24 15:05:17 -04:00
recv.c ath9k: Manipulate and report the correct RSSI 2009-07-24 15:05:17 -04:00
reg.h ath9k: Add AR9287 based chipsets' register information. 2009-07-24 15:05:19 -04:00
virtual.c mac80211: redefine usage of the mac80211 workqueue 2009-08-04 16:44:14 -04:00
xmit.c mac80211: redefine usage of the mac80211 workqueue 2009-08-04 16:44:14 -04:00