Johannes Berg
89c3a8aca2
mac80211: fix suspend
...
Jan reported that his b43-based laptop hangs during suspend.
The problem turned out to be mac80211 asking the driver to
stop the hardware before removing interfaces, and interface
removal caused b43 to touch the hardware (while down, which
causes the hang).
This patch fixes mac80211 to do reorder these operations to
have them in the correct order -- first remove interfaces
and then stop the hardware. Some more code is necessary to
be able to do so in a race-free manner, in particular it is
necessary to not process frames received during quiescing.
Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13337 .
Reported-by: Jan Scholz <[email protected] >
Signed-off-by: Johannes Berg <[email protected] >
Signed-off-by: John W. Linville <[email protected] >
2009-07-29 14:52:01 -04: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
mac80211: Add a timeout for frames in the RX reorder buffer
2009-05-06 15:15:04 -04:00
agg-tx.c
mac80211: Fix the way ADDBA request count being modified
2009-06-10 13:28:38 -04:00
cfg.c
mac80211: don't use master netdev name
2009-06-10 13:28:39 -04:00
cfg.h
debugfs.c
mac80211: add queue debugfs file
2009-06-15 15:05:57 -04:00
debugfs.h
debugfs_key.c
mac80211: 802.11w - Use BIP (AES-128-CMAC)
2009-01-29 16:00:03 -05:00
debugfs_key.h
mac80211: 802.11w - Use BIP (AES-128-CMAC)
2009-01-29 16:00:03 -05:00
debugfs_netdev.c
mac80211: split IBSS/managed code
2009-02-27 14:51:42 -05:00
debugfs_netdev.h
mac80211: revamp virtual interface handling
2008-07-14 14:30:07 -04:00
debugfs_sta.c
mac80211: 802.11w - STA flag for MFP
2009-01-29 16:00:00 -05:00
debugfs_sta.h
driver-ops.h
cfg80211: add rfkill support
2009-06-03 14:06:14 -04:00
event.c
nl80211: Add Michael MIC failure event
2009-04-22 16:54:28 -04:00
ht.c
cfg80211: clean up includes
2009-04-22 16:57:17 -04:00
ibss.c
mac80211: fix parameter confusion when finding IBSS
2009-05-20 14:46:36 -04:00
ieee80211_i.h
mac80211: disconnect when user changes channel
2009-06-15 15:05:58 -04:00
iface.c
cfg80211: add rfkill support
2009-06-03 14:06:14 -04:00
Kconfig
mac80211: disable mesh
2009-07-21 12:07:35 -04:00
key.c
nl80211: Validate NL80211_ATTR_KEY_SEQ length
2009-05-20 14:46:25 -04:00
key.h
nl80211: Add RSC configuration for new keys
2009-05-13 15:44:39 -04:00
led.c
led.h
main.c
mac80211: do not pass PS frames out of mac80211 again
2009-06-10 13:28:37 -04:00
Makefile
mac80211: split IBSS/managed code
2009-02-27 14:51:42 -05:00
mesh.c
mac80211: Use rcu_barrier() on unload.
2009-06-26 13:51:36 -07:00
mesh.h
wireless: move some utility functions from mac80211 to cfg80211
2009-05-22 14:06:02 -04:00
mesh_hwmp.c
mac80211: fix allocation in mesh_queue_preq
2009-07-07 12:55:27 -04:00
mesh_pathtbl.c
mac80211: use correct address for mesh Path Error
2009-07-21 12:07:40 -04:00
mesh_plink.c
mac80211: cancel/restart all timers across suspend/resume
2009-05-20 14:46:25 -04: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: do not queue work after suspend in the dynamic ps timer
2009-07-27 15:19:38 -04:00
pm.c
mac80211: fix suspend
2009-07-29 14:52:01 -04:00
rate.c
mac80211: rate control status only for controlled packets
2009-03-27 20:13:15 -04:00
rate.h
mac80211: rate control status only for controlled packets
2009-03-27 20:13:15 -04:00
rc80211_minstrel.c
mac80211: minstrel: avoid accessing negative indices in rix_to_ndx()
2009-07-07 12:55:28 -04:00
rc80211_minstrel.h
minstrel: improve performance for non-MRR drivers
2008-10-31 19:00:36 -04:00
rc80211_minstrel_debugfs.c
mac80211: correct warnings in minstrel rate control algorithm
2008-10-27 17:46:11 -04:00
rc80211_pid.h
mac80211/drivers: rewrite the rate control API
2008-10-31 19:00:23 -04:00
rc80211_pid_algo.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2009-05-18 21:08:20 -07:00
rc80211_pid_debugfs.c
mac80211/drivers: rewrite the rate control API
2008-10-31 19:00:23 -04:00
rx.c
mac80211: fix suspend
2009-07-29 14:52:01 -04:00
scan.c
mac80211: cancel/restart all timers across suspend/resume
2009-05-20 14:46:25 -04:00
spectmgmt.c
mac80211: move channel switch code
2009-05-20 14:46:25 -04:00
sta_info.c
mac80211: extend sta kdoc - explain when they are added
2009-06-03 14:06:15 -04:00
sta_info.h
mac80211: fix kernel-doc
2009-05-20 14:46:32 -04:00
tkip.c
mac80211: add driver ops wrappers
2009-05-06 15:14:37 -04:00
tkip.h
tx.c
mac80211: fix injection in monitor mode
2009-07-21 12:07:38 -04:00
util.c
mac80211: disconnect when user changes channel
2009-06-15 15:05:58 -04:00
wep.c
mac80211: rewrite fragmentation
2009-03-27 20:13:21 -04:00
wep.h
mac80211: minor code cleanups
2008-10-31 18:05:59 -04:00
wext.c
mac80211: disconnect when user changes channel
2009-06-15 15:05:58 -04:00
wme.c
mac80211: do not pass PS frames out of mac80211 again
2009-06-10 13:28:37 -04:00
wme.h
mac80211: fix aggregation for hardware with ampdu queues
2009-02-27 14:51:42 -05:00
wpa.c
nl80211: Add Michael MIC failure event
2009-04-22 16:54:28 -04:00
wpa.h
mac80211: 802.11w - Add BIP (AES-128-CMAC)
2009-01-29 16:00:02 -05:00