linux/net/mac80211
Luis R. Rodriguez b98c06b6de mac80211: fix race with suspend and dynamic_ps_disable_work
When mac80211 suspends it calls a driver's suspend callback
as a last step and after that the driver assumes no calls will
be made to it until we resume and its start callback is kicked.
If such calls are made, however, suspend can end up throwing
hardware in an unexpected state and making the device unusable
upon resume.

Fix this by preventing mac80211 to schedule dynamic_ps_disable_work
by checking for when mac80211 starts to suspend and starts
quiescing. Frames should be allowed to go through though as
that is part of the quiescing steps and we do not flush the
mac80211 workqueue since it was already done towards the
beginning of suspend cycle.

The other mac80211 issue will be hanled in the next patch.

For further details see refer to the thread:

http://marc.info/?t=126144866100001&r=1&w=2

Cc: stable@kernel.org
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-12-28 16:20:04 -05:00
..
aes_ccm.c mac80211: aes_ccm.c remove crypto wrapper and extra args 2008-07-08 14:16:02 -04:00
aes_ccm.h mac80211: pass scratch buffer directly, remove additional pointers 2008-07-08 14:16:02 -04:00
aes_cmac.c mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
aes_cmac.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
agg-rx.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-12-01 22:13:38 -08:00
agg-tx.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-12-01 22:13:38 -08:00
cfg.c wireless: correctly report signal value for IEEE80211_HW_SIGNAL_UNSPEC 2009-12-09 15:10:08 -05:00
cfg.h
debugfs_key.c cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
debugfs_key.h mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
debugfs_netdev.c mac80211: add nl80211/cfg80211 handling of the new mesh root mode option. 2009-11-13 17:43:57 -05:00
debugfs_netdev.h mac80211: revamp virtual interface handling 2008-07-14 14:30:07 -04:00
debugfs_sta.c mac80211: add per-station HT capability file 2009-11-19 11:09:08 -05:00
debugfs_sta.h
debugfs.c mac80211: make software rate control optional 2009-11-18 17:09:24 -05:00
debugfs.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
driver-ops.h mac80211: convert aggregation to operate on vifs/stas 2009-11-18 17:09:15 -05:00
driver-trace.c mac80211: fix sparse warnings/errors 2009-08-04 16:43:25 -04:00
driver-trace.h mac80211: log more data when tracing 2009-11-28 15:05:03 -05:00
event.c cfg80211: use proper allocation flags 2009-07-10 15:01:49 -04:00
ht.c mac80211: fix peer HT capabilities 2009-12-21 11:32:27 -05:00
ibss.c mac80211: fix ibss join with fixed-bssid 2009-12-28 15:56:35 -05:00
ieee80211_i.h mac80211: Fix dynamic power save for scanning. 2009-12-07 16:51:18 -05:00
iface.c mac80211: Speedup ieee80211_remove_interfaces() 2009-11-25 13:49:49 -05:00
Kconfig mac80211: add MAC80211_VERBOSE_MHWMP_DEBUG 2009-11-11 15:23:58 -05:00
key.c mac80211: fix todo lock 2009-07-10 15:01:48 -04:00
key.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
led.c
led.h
main.c mac80211: Add define for TX headroom reserved by mac80211 itself. 2009-12-14 14:22:31 -05:00
Makefile mac80211: move TX status handling 2009-11-18 17:09:27 -05:00
mesh_hwmp.c mac80211: Revert 'Use correct sign for mesh active path refresh' 2009-12-10 16:12:52 -05:00
mesh_pathtbl.c mac80211: fix endianess on mesh_path_error_tx() calls 2009-11-19 11:38:24 -05:00
mesh_plink.c mac80211: remove encrypt parameter from ieee80211_tx_skb 2009-11-18 17:09:27 -05:00
mesh.c net/mac80211: Correct size given to memset 2009-12-10 16:09:52 -05:00
mesh.h mac80211: Revert 'Use correct sign for mesh active path refresh' 2009-12-10 16:12:52 -05:00
michael.c mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
michael.h mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
mlme.c mac80211: fix WMM AP settings application 2009-12-21 11:32:28 -05:00
pm.c mac80211: fix configure_filter invocation after stop 2009-08-28 14:40:25 -04:00
rate.c mac80211: make software rate control optional 2009-11-18 17:09:24 -05:00
rate.h mac80211: make software rate control optional 2009-11-18 17:09:24 -05:00
rc80211_minstrel_debugfs.c net: file_operations should be const 2009-09-02 01:03:53 -07:00
rc80211_minstrel.c rc80211_minstrel: fix contention window calculation 2009-09-23 11:35:42 -04:00
rc80211_minstrel.h mac80211: Remove unnused throughput field from minstrel_rate. 2009-08-28 14:40:34 -04:00
rc80211_pid_algo.c rc80211_pid_algo.c: remove unused variable declaration 2009-08-20 11:36:03 -04:00
rc80211_pid_debugfs.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
rc80211_pid.h mac80211/drivers: rewrite the rate control API 2008-10-31 19:00:23 -04:00
rx.c mac80211: Fixed bug in mesh portal paths 2009-12-10 16:09:52 -05:00
scan.c mac80211: Fix dynamic power save for scanning. 2009-12-07 16:51:18 -05:00
spectmgmt.c mac80211: remove encrypt parameter from ieee80211_tx_skb 2009-11-18 17:09:27 -05:00
sta_info.c mac80211: make software rate control optional 2009-11-18 17:09:24 -05:00
sta_info.h mac80211: Fix missing kernel-doc notation 2009-11-23 17:05:40 -05:00
status.c mac80211: Fix TX status reporting for injected data frames 2009-12-04 14:16:23 -05:00
tkip.c mac80211: use fixed broadcast address 2009-11-18 17:09:18 -05:00
tkip.h mac80211: tkip.c consolidate tkip IV writing in helper 2008-06-14 12:18:13 -04:00
tx.c mac80211: fix race with suspend and dynamic_ps_disable_work 2009-12-28 16:20:04 -05:00
util.c mac80211: Fix bug in computing crc over dynamic IEs in beacon 2009-12-07 16:51:24 -05:00
wep.c mac80211: trim RX data 2009-11-18 17:09:17 -05:00
wep.h cfg80211: rework key operation 2009-07-24 15:05:09 -04:00
wme.c mac80211: remove master netdev 2009-07-24 15:05:30 -04:00
wme.h mac80211: remove master netdev 2009-07-24 15:05:30 -04:00
wpa.c mac80211: trim RX data 2009-11-18 17:09:17 -05:00
wpa.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00