Johannes Berg
b4b177a555
mac80211: fix on-channel remain-on-channel
...
Jouni reported that if a remain-on-channel was active on the
same channel as the current operating channel, then the ROC
would start, but any frames transmitted using mgmt-tx on the
same channel would get delayed until after the ROC.
The reason for this is that the ROC starts, but doesn't have
any handling for "remain on the same channel", so it stops
the interface queues. The later mgmt-tx then puts the frame
on the interface queues (since it's on the current operating
channel) and thus they get delayed until after the ROC.
To fix this, add some logic to handle remaining on the same
channel specially and not stop the queues etc. in this case.
This not only fixes the bug but also improves behaviour in
this case as data frames etc. can continue to flow.
Cc: stable@vger.kernel.org
Reported-by: Jouni Malinen <j@w1.fi>
Tested-by: Jouni Malinen <j@w1.fi>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2014-05-14 15:48:38 +02:00
..
aes_ccm.c
mac80211: port CCMP to cryptoapi's CCM driver
2013-10-11 15:38:20 +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
mac80211: improve aggregation debug messages
2013-01-18 21:55:15 +01:00
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: refactor channel switch function
2014-03-03 15:07:29 +01:00
cfg.h
mac80211: make cfg80211 ops and privid const
2014-02-04 21:48:21 +01:00
chan.c
mac80211: fix radar_enabled propagation
2014-04-09 10:48:36 +02:00
debug.h
mac80211: process the CSA frame for mesh accordingly
2013-10-28 15:05:28 +01:00
debugfs.c
mac80211: Tx frame latency statistics
2013-12-02 11:51:50 +01:00
debugfs.h
mac80211: use __printf attribute in debugfs
2012-10-18 09:01:57 +02:00
debugfs_key.c
mac80211: move sdata debugfs dir to vif
2013-03-18 20:10:04 +01:00
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
driver-ops.h
mac80211: allow driver to return error from sched_scan_stop
2014-02-20 16:09:54 +01:00
event.c
ht.c
mac80211: allow drivers to request SMPS off
2014-02-21 09:28:52 +01:00
ibss.c
cfg80211/mac80211: ignore signal if the frame was heard on wrong channel
2014-03-19 21:29:56 +01:00
ieee80211_i.h
mac80211: fix on-channel remain-on-channel
2014-05-14 15:48:38 +02:00
iface.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
2014-03-13 14:21:43 -04: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: exclude AP_VLAN interfaces from tx power calculation
2014-04-11 09:37:41 +02:00
Makefile
mac80211: mesh power save basics
2013-02-04 18:57:47 +01:00
mesh.c
mac80211: add missing CSA locking
2014-02-04 21:58:11 +01:00
mesh.h
mac80211: use put_unaligned_le in mesh when necessary
2013-11-25 20:51:55 +01:00
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
michael.c
michael.h
mlme.c
mac80211: fix suspend vs. association race
2014-05-13 13:58:16 +02:00
offchannel.c
mac80211: fix on-channel remain-on-channel
2014-05-14 15:48:38 +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.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_minstrel_debugfs.c
mac80211: cosmetics for minstrel_debugfs
2013-04-17 17:08:23 +02: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
mac80211/minstrel_ht: use the new rate control API
2013-04-22 16:16:41 +02:00
rc80211_minstrel_ht_debugfs.c
mac80211: minstrel_ht: replace some occurences of MCS_GROUP_RATES
2013-11-25 20:52:07 +01:00
rc80211_pid.h
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
rx.c
mac80211: Fix mac80211 station info rx bitrate for IBSS mode
2014-05-05 14:52:03 +02:00
scan.c
mac80211: release sched_scan_sdata when stopping sched scan
2014-03-19 21:29:55 +01:00
spectmgmt.c
mac80211: fix the mesh channel switch support
2013-11-25 16:50:13 +01:00
sta_info.c
mac80211: avoid handling of SMPS for mesh
2014-04-22 16:38:42 +02: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: fixup radiotap tx flags for RTS/CTS
2014-04-22 17:08:30 +02:00
tkip.c
mac80211: fix checkpatch errors
2013-12-18 10:33:06 +01:00
tkip.h
mac80211: fix TKIP races, make API easier to use
2011-07-08 11:11:19 -04:00
trace.c
mac80211: trace debug messages
2012-06-24 11:33:18 +02:00
trace.h
mac80211: fix vif name tracing
2014-05-09 14:35:40 +02: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
mac80211: fix nested rtnl locking on ieee80211_reconfig
2014-05-05 15:14:58 +02:00
vht.c
mac80211: allow VHT with peers not capable of 40MHz
2014-05-09 09:56:53 +02:00
wep.c
wireless: move crypto constants to ieee80211.h
2013-05-16 22:39:41 +02:00
wep.h
mac80211: move RX WEP weak IV counting
2012-03-13 14:54:16 -04:00
wme.c
mac80211: send control port protocol frames to the VO queue
2014-02-12 11:26:43 +01:00
wme.h
mac80211: save wmm_acm per sdata
2012-06-20 17:35:22 +02:00
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