linux/net/mac80211
Johannes Berg b7413430d4 mac80211: fix work race
When we stop an interface, the work on it may still be pending
or running. We do cancel the timer, but we do not currently
protect against the work struct. The race is very unlikely to
hit -- it'll happen only when the driver is using mac80211's
workqueue to run long-running tasks and the sta/mesh works are
delayed for quite a bit.

This patch fixes it by cancelling the work explicitly.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-09-15 16:48:20 -04:00
..
Kconfig mac80211: Reimplement WME using ->select_queue(). 2008-07-17 19:21:12 -07:00
Makefile mac80211: move spectrum management code out 2008-09-11 15:53:39 -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
cfg.c mac80211: split off mesh handling entirely 2008-09-15 16:48:20 -04:00
cfg.h [MAC80211]: rename ieee80211_cfg.h to cfg.h 2007-10-10 16:52:34 -07:00
debugfs.c mac80211: revamp virtual interface handling 2008-07-14 14:30:07 -04:00
debugfs.h [MAC80211]: Add debugfs attributes. 2007-05-05 11:46:38 -07:00
debugfs_key.c mac80211: Fix debugfs union misuse and pointer corruption 2008-09-02 17:39:50 -04:00
debugfs_key.h mac80211: fix key vs. sta locking problems 2008-04-08 16:44:45 -04:00
debugfs_netdev.c mac80211: split off mesh handling entirely 2008-09-15 16:48:20 -04:00
debugfs_netdev.h mac80211: revamp virtual interface handling 2008-07-14 14:30:07 -04:00
debugfs_sta.c replace net_device arguments with ieee80211_{local,sub_if_data} as appropriate 2008-08-22 16:29:58 -04:00
debugfs_sta.h mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
event.c replace net_device arguments with ieee80211_{local,sub_if_data} as appropriate 2008-08-22 16:29:58 -04:00
ht.c mac80211: move frame TX function 2008-09-11 15:53:39 -04:00
ieee80211_i.h mac80211: split off mesh handling entirely 2008-09-15 16:48:20 -04:00
iface.c mac80211: split off mesh handling entirely 2008-09-15 16:48:20 -04:00
key.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-28 01:19:40 -07:00
key.h mac80211: Let drivers have access to TKIP key offets for TX and RX MIC 2008-06-27 09:09:17 -04:00
led.c mac80211: rename files 2008-04-08 16:44:45 -04:00
led.h mac80211: rename files 2008-04-08 16:44:45 -04:00
main.c mac80211: fix work race 2008-09-15 16:48:20 -04:00
mesh.c mac80211: fix work race 2008-09-15 16:48:20 -04:00
mesh.h mac80211: split off mesh handling entirely 2008-09-15 16:48:20 -04:00
mesh_hwmp.c mac80211: split off mesh handling entirely 2008-09-15 16:48:20 -04:00
mesh_pathtbl.c mac80211: split off mesh handling entirely 2008-09-15 16:48:20 -04:00
mesh_plink.c mac80211: split off mesh handling entirely 2008-09-15 16:48:20 -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: split off mesh handling entirely 2008-09-15 16:48:20 -04:00
rate.c mac80211: use rate index in TX control 2008-05-21 21:48:09 -04:00
rate.h build algorithms into the mac80211 module 2008-06-30 17:37:34 -04:00
rc80211_pid.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-14 20:23:54 -07:00
rc80211_pid_algo.c mac80211: split off mesh handling entirely 2008-09-15 16:48:20 -04:00
rc80211_pid_debugfs.c mac80211: move TX info into skb->cb 2008-05-21 21:48:11 -04:00
rx.c mac80211: split off mesh handling entirely 2008-09-15 16:48:20 -04:00
scan.c mac80211: split off mesh handling entirely 2008-09-15 16:48:20 -04:00
spectmgmt.c mac80211: move frame TX function 2008-09-11 15:53:39 -04:00
sta_info.c mac80211: move ieee80211_sta_expire 2008-09-15 16:48:20 -04:00
sta_info.h mac80211: move ieee80211_sta_expire 2008-09-15 16:48:20 -04:00
tkip.c mac80211: Let drivers have access to TKIP key offets for TX and RX MIC 2008-06-27 09:09:17 -04:00
tkip.h mac80211: tkip.c consolidate tkip IV writing in helper 2008-06-14 12:18:13 -04:00
tx.c mac80211: split off mesh handling entirely 2008-09-15 16:48:20 -04:00
util.c mac80211: move frame TX function 2008-09-11 15:53:39 -04:00
wep.c mac80211: use ieee80211 frame control directly 2008-08-22 16:29:54 -04:00
wep.h mac80211: a few code cleanups 2008-05-07 15:02:11 -04:00
wext.c mac80211: cleanup mlme state namespace 2008-08-22 16:29:59 -04:00
wme.c mac80211: Use only precedence level of DSCP field for frame classification 2008-08-29 16:24:05 -04:00
wme.h mac80211: wme.h remove unused QOS_CONTROL_LEN 2008-08-22 16:29:53 -04:00
wpa.c replace net_device arguments with ieee80211_{local,sub_if_data} as appropriate 2008-08-22 16:29:58 -04:00
wpa.h mac80211: split ieee80211_txrx_data 2008-03-06 15:30:46 -05:00