linux/net/mac80211
Johannes Berg ec034b208d mac80211: fix TX a-MPDU locking
During my quest to make mac80211 not have any RCU
warnings from sparse, I came across the a-MPDU code
again and it wasn't quite clear why it isn't racy.
So instead of assigning the tid_tx array with just
the spinlock held in ieee80211_start_tx_ba_session
use a separate temporary array protected only by
the spinlock and protect all assignments to the
"live" array by both the spinlock and the mutex so
that other code is easily verified to be correct.

Due to pointer assignment atomicity I don't think
this is a real issue, but I'm not sure, especially
on Alpha the current code might be problematic.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-05-16 14:10:40 -04:00
..
aes_ccm.c mac80211: Fix warnings due to -Wunused-but-set-variable 2011-04-26 15:50:31 -04:00
aes_ccm.h
aes_cmac.c
aes_cmac.h
agg-rx.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2011-01-28 16:23:14 -05:00
agg-tx.c mac80211: fix TX a-MPDU locking 2011-05-16 14:10:40 -04:00
cfg.c cfg80211/mac80211: avoid bounce back mac->cfg->mac on sched_scan_stopped 2011-05-12 14:10:55 -04:00
cfg.h
chan.c mac80211: fix channel type recalculation with HT and non-HT interfaces 2011-03-14 14:46:58 -04:00
debugfs_key.c
debugfs_key.h
debugfs_netdev.c mac80211: fix SMPS debugfs locking 2011-04-20 16:05:59 -04:00
debugfs_netdev.h
debugfs_sta.c mac80211: fix debugfs printk format warning 2011-04-19 15:38:03 -04:00
debugfs_sta.h
debugfs.c mac80211: add basic support for WoWLAN 2011-05-05 14:59:20 -04:00
debugfs.h mac80211: refactor debugfs function generation code 2010-11-15 13:24:48 -05:00
driver-ops.h mac80211: add support for HW scheduled scan 2011-05-11 15:12:27 -04:00
driver-trace.c
driver-trace.h mac80211: add support for HW scheduled scan 2011-05-11 15:12:27 -04:00
event.c
ht.c mac80211: fix TX a-MPDU locking 2011-05-16 14:10:40 -04:00
ibss.c mac80211: Fix warnings due to -Wunused-but-set-variable 2011-04-26 15:50:31 -04:00
ieee80211_i.h cfg80211/mac80211: avoid bounce back mac->cfg->mac on sched_scan_stopped 2011-05-12 14:10:55 -04:00
iface.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-03-03 21:27:42 -08:00
Kconfig mac80211: remove the dependency on crypto_blkcipher 2011-04-04 16:20:00 -04:00
key.c mac80211: make key locking clearer 2011-05-12 14:10:53 -04:00
key.h mac80211: make key locking clearer 2011-05-12 14:10:53 -04:00
led.c
led.h
main.c cfg80211: advertise possible interface combinations 2011-05-16 14:10:40 -04:00
Makefile
mesh_hwmp.c mac80211: remove pointless mesh path timer RCU code 2011-05-12 14:10:52 -04:00
mesh_pathtbl.c mac80211: mesh: move some code to make it static 2011-05-12 14:10:55 -04:00
mesh_plink.c open80211s: Stop using zero for address 3 in mesh plink mgmt frames 2011-05-11 14:37:48 -04:00
mesh.c mac80211: mesh: move some code to make it static 2011-05-12 14:10:55 -04:00
mesh.h mac80211: mesh: move some code to make it static 2011-05-12 14:10:55 -04:00
michael.c
michael.h
mlme.c mac80211: Postpond ps timer if tx is stopped by others 2011-05-05 14:59:07 -04:00
offchannel.c mac80211: Optimize scans on current operating channel. 2011-02-04 16:30:32 -05:00
pm.c mac80211: add basic support for WoWLAN 2011-05-05 14:59:20 -04:00
rate.c
rate.h
rc80211_minstrel_debugfs.c
rc80211_minstrel_ht_debugfs.c
rc80211_minstrel_ht.c mac80211: fix contention time computation in minstrel, minstrel_ht 2011-05-12 14:10:48 -04:00
rc80211_minstrel_ht.h
rc80211_minstrel.c mac80211: fix contention time computation in minstrel, minstrel_ht 2011-05-12 14:10:48 -04:00
rc80211_minstrel.h
rc80211_pid_algo.c
rc80211_pid_debugfs.c
rc80211_pid.h mac80211: remove unused macros 2011-03-07 13:48:30 -05:00
rx.c mac80211: add support for HW scheduled scan 2011-05-11 15:12:27 -04:00
scan.c cfg80211/mac80211: avoid bounce back mac->cfg->mac on sched_scan_stopped 2011-05-12 14:10:55 -04:00
spectmgmt.c
sta_info.c mac80211: fix another key non-race 2011-05-12 14:10:54 -04:00
sta_info.h mac80211: fix TX a-MPDU locking 2011-05-16 14:10:40 -04:00
status.c mac80211: allow low level drivers to report packet loss 2011-04-28 14:50:00 -04:00
tkip.c mac80211: remove the dependency on crypto_blkcipher 2011-04-04 16:20:00 -04:00
tkip.h mac80211: remove the dependency on crypto_blkcipher 2011-04-04 16:20:00 -04:00
tx.c mac80211: Move call to mpp_path_lookup inside RCU-read section 2011-05-11 14:50:35 -04:00
util.c mac80211: add basic support for WoWLAN 2011-05-05 14:59:20 -04:00
wep.c mac80211: remove the dependency on crypto_blkcipher 2011-04-04 16:20:00 -04:00
wep.h mac80211: remove the dependency on crypto_blkcipher 2011-04-04 16:20:00 -04:00
wme.c
wme.h
work.c mac80211: Fix warnings due to -Wunused-but-set-variable 2011-04-26 15:50:31 -04:00
wpa.c mac80211: consolidate MIC failure report handling 2011-05-02 14:49:14 -04:00
wpa.h