linux/net/mac80211
Michal Kazior 4e141dad26 mac80211: protect AP VLAN list with local->mtx
It was impossible to change chanctx of master AP
for AP VLANs because the copy function requires
RTNL which can't be simply taken in mac80211 code
due to possible deadlocks.

This is required for future chanctx reservation
that re-bind vifs to new chanctx. This requires
safe AP VLAN iteration without RTNL.

Now VLANs can be iterated while holding either
RTNL or local->mtx because the list is modified
while holding both of these locks.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2014-04-09 10:55:49 +02:00
..
aes_ccm.c mac80211: remove VLAIS usage from mac80211 2014-04-09 10:55:27 +02:00
aes_ccm.h mac80211: port CCMP to cryptoapi's CCM driver 2013-10-11 15:38:20 +02:00
aes_cmac.c mac80211: fix checkpatch errors 2013-12-18 10:33:06 +01:00
aes_cmac.h mac80211: fix checkpatch errors 2013-12-18 10:33:06 +01:00
agg-rx.c
agg-tx.c mac80211: send {ADD,DEL}BA on AC_VO like other mgmt frames, as per spec 2014-02-04 21:48:28 +01:00
cfg.c mac80211: protect AP VLAN list with local->mtx 2014-04-09 10:55:49 +02:00
cfg.h mac80211: make cfg80211 ops and privid const 2014-02-04 21:48:21 +01:00
chan.c mac80211: protect AP VLAN list with local->mtx 2014-04-09 10:55:49 +02:00
debug.h mac80211: process the CSA frame for mesh accordingly 2013-10-28 15:05:28 +01:00
debugfs_key.c
debugfs_key.h
debugfs_netdev.c mac80211: add beacon_loss debugfs file 2014-02-11 12:58:45 +01:00
debugfs_netdev.h
debugfs_sta.c mac80211: fix agg_status debugfs file write 2014-02-04 21:48:19 +01:00
debugfs_sta.h
debugfs.c mac80211: use RCU_INIT_POINTER 2014-04-09 10:55:30 +02:00
debugfs.h
driver-ops.h mac80211: add vif to flush call 2014-04-09 10:55:29 +02:00
event.c
ht.c mac80211: allow drivers to request SMPS off 2014-02-21 09:28:52 +01:00
ibss.c cfg80211/mac80211: move combination check to mac80211 for ibss 2014-04-09 10:55:45 +02:00
ieee80211_i.h mac80211: protect AP VLAN list with local->mtx 2014-04-09 10:55:49 +02:00
iface.c mac80211: protect AP VLAN list with local->mtx 2014-04-09 10:55:49 +02:00
Kconfig mac80211: process the CSA frame for mesh accordingly 2013-10-28 15:05:28 +01:00
key.c mac80211: free all AP/VLAN keys at once 2013-12-16 11:29:48 +01:00
key.h mac80211: free all AP/VLAN keys at once 2013-12-16 11:29:48 +01:00
led.c mac80211: use oneshot blink API for LED triggers 2013-08-01 10:48:49 +02:00
led.h mac80211: use oneshot blink API for LED triggers 2013-08-01 10:48:49 +02:00
main.c mac80211: add NAPI support back 2014-02-12 21:37:27 +01:00
Makefile
mesh_hwmp.c mac80211: use put_unaligned_le in mesh when necessary 2013-11-25 20:51:55 +01:00
mesh_pathtbl.c mac80211: use put_unaligned_le in mesh when necessary 2013-11-25 20:51:55 +01:00
mesh_plink.c mac80211: enable WME for peer mesh STA 2014-01-06 17:43:06 +01:00
mesh_ps.c mac80211: clear sequence/fragment number in QoS-null frames 2014-03-05 15:49:54 +01:00
mesh_sync.c mac80211: update adjusting TBTT bit in beacon 2013-12-16 14:21:22 +01:00
mesh.c cfg80211/mac80211: refactor cfg80211_chandef_dfs_required() 2014-04-09 10:55:41 +02:00
mesh.h mac80211: use put_unaligned_le in mesh when necessary 2013-11-25 20:51:55 +01:00
michael.c
michael.h
mlme.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2014-03-20 11:53:20 -04:00
offchannel.c mac80211: Run deferred scan if last roc_list item is not started 2013-09-30 12:36:56 +02:00
pm.c mac80211: fix suspend vs. authentication race 2014-03-19 21:29:53 +01:00
rate.c mac80211: remove module handling from rate control ops 2014-02-04 21:48:26 +01:00
rate.h mac80211: make rate control ops const 2014-02-04 21:48:21 +01:00
rc80211_minstrel_debugfs.c
rc80211_minstrel_ht_debugfs.c mac80211: minstrel_ht: replace some occurences of MCS_GROUP_RATES 2013-11-25 20:52:07 +01:00
rc80211_minstrel_ht.c mac80211: minstrel_ht: sample_table can be __read_mostly 2014-02-04 21:48:25 +01:00
rc80211_minstrel_ht.h
rc80211_minstrel.c mac80211: make rate control ops const 2014-02-04 21:48:21 +01:00
rc80211_minstrel.h mac80211: make rate control ops const 2014-02-04 21:48:21 +01:00
rc80211_pid_algo.c mac80211: make rate control ops const 2014-02-04 21:48:21 +01:00
rc80211_pid_debugfs.c mac80211: fix some snprintf misuses 2013-10-01 12:16:51 +02:00
rc80211_pid.h
rx.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2014-03-20 11:53:20 -04:00
scan.c mac80211: use RCU_INIT_POINTER 2014-04-09 10:55:30 +02:00
spectmgmt.c mac80211: fix the mesh channel switch support 2013-11-25 16:50:13 +01:00
sta_info.c mac80211: clear sequence/fragment number in QoS-null frames 2014-03-05 15:49:54 +01:00
sta_info.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-03-05 20:32:02 -05:00
status.c mac80211: remove set but unused variables 2014-02-04 21:58:14 +01:00
tkip.c mac80211: fix checkpatch errors 2013-12-18 10:33:06 +01:00
tkip.h
trace.c
trace.h mac80211: add tracing for ieee80211_sta_set_buffered 2014-01-06 12:09:01 +01:00
tx.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2014-03-20 11:53:20 -04:00
util.c cfg80211/mac80211: move more combination checks to mac80211 2014-04-09 10:55:47 +02:00
vht.c mac80211: update opmode when adding new station 2014-02-05 14:03:23 +01:00
wep.c wireless: move crypto constants to ieee80211.h 2013-05-16 22:39:41 +02:00
wep.h
wme.c mac80211: send control port protocol frames to the VO queue 2014-02-12 11:26:43 +01:00
wme.h
wpa.c mac80211: add length check in ieee80211_is_robust_mgmt_frame() 2014-02-04 21:58:07 +01:00
wpa.h mac80211: add generic cipher scheme support 2013-11-25 20:50:52 +01:00