linux-stable/net/mac80211
Seth Forshee 6c17b77b67 mac80211: Fix tx queue handling during scans
Scans currently work by stopping the netdev tx queues but leaving the
mac80211 queues active. This stops the flow of incoming packets while
still allowing mac80211 to transmit nullfunc and probe request frames to
facilitate scanning. However, the driver may try to wake the mac80211
queues while in this state, which will also wake the netdev queues.

To prevent this, add a new queue stop reason,
IEEE80211_QUEUE_STOP_REASON_OFFCHANNEL, to be used when stopping the tx
queues for off-channel operation. This prevents the netdev queues from
waking when a driver wakes the mac80211 queues.

This also stops all frames from being transmitted, even those meant to
be sent off-channel. Add a new tx control flag,
IEEE80211_TX_CTL_OFFCHAN_TX_OK, which allows frames to be transmitted
when the queues are stopped only for the off-channel stop reason. Update
all locations transmitting off-channel frames to use this flag.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-02-11 22:52:21 +01:00
..
aes_ccm.c mac80211: use AES_BLOCK_SIZE 2011-07-08 11:11:24 -04:00
aes_ccm.h mac80211: use AES_BLOCK_SIZE 2011-07-08 11:11:24 -04:00
aes_cmac.c mac80211: include export.h in aes_cmac 2012-11-07 18:01:54 +01:00
aes_cmac.h mac80211: fix CMAC races 2011-07-08 11:11:20 -04:00
agg-rx.c mac80211: improve aggregation debug messages 2013-01-18 21:55:15 +01:00
agg-tx.c mac80211: fix aggregation state with current drivers 2013-01-24 15:43:51 +01:00
cfg.c mac80211: Fix tx queue handling during scans 2013-02-11 22:52:21 +01:00
cfg.h
chan.c mac80211: simplify idle handling 2013-02-11 18:45:01 +01:00
debug.h mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
debugfs.c mac80211: remove IEEE80211_HW_SCAN_WHILE_IDLE 2013-02-11 18:45:01 +01:00
debugfs.h mac80211: use __printf attribute in debugfs 2012-10-18 09:01:57 +02:00
debugfs_key.c mac80211: add debug file for mic failure 2012-12-05 09:44:41 +01:00
debugfs_key.h
debugfs_netdev.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
debugfs_netdev.h
debugfs_sta.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
debugfs_sta.h
driver-ops.h mac80211: add vif debugfs driver callbacks 2013-02-11 18:44:58 +01:00
event.c
ht.c mac80211: unset peer's HT 40 MHz support if not usable 2013-01-03 13:01:45 +01:00
ibss.c mac80211: simplify idle handling 2013-02-11 18:45:01 +01:00
ieee80211_i.h mac80211: Fix tx queue handling during scans 2013-02-11 22:52:21 +01:00
iface.c mac80211: simplify idle handling 2013-02-11 18:45:01 +01:00
Kconfig mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
key.c mac80211: add op to configure default key id 2013-01-18 13:30:21 +01:00
key.h mac80211: add debug file for mic failure 2012-12-05 09:44:41 +01:00
led.c leds: Rename led_brightness_set() to led_set_brightness() 2012-07-24 07:52:34 +08:00
led.h
main.c mac80211: remove IEEE80211_HW_SCAN_WHILE_IDLE 2013-02-11 18:45:01 +01:00
Makefile mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
mesh.c mac80211: Add the DS Params for mesh to every band 2013-02-11 18:44:54 +01:00
mesh.h mac80211: fix mesh sta teardown 2013-02-11 18:44:54 +01:00
mesh_hwmp.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
mesh_pathtbl.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
mesh_plink.c mac80211: fix mesh sta teardown 2013-02-11 18:44:54 +01:00
mesh_ps.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
mesh_sync.c mac80211: fix for mesh sync to indicate TBTT adjustment 2012-11-30 12:41:46 +01:00
michael.c
michael.h
mlme.c mac80211: Fix tx queue handling during scans 2013-02-11 22:52:21 +01:00
offchannel.c mac80211: Fix tx queue handling during scans 2013-02-11 22:52:21 +01:00
pm.c cfg80211/mac80211: support reporting wakeup reason 2013-01-31 14:00:21 +01:00
rate.c mac80211: convert to channel definition struct 2012-11-26 12:42:59 +01:00
rate.h mac80211: convert to channel definition struct 2012-11-26 12:42:59 +01:00
rc80211_minstrel.c minstrel: update stats after processing status 2012-12-10 22:51:50 +01:00
rc80211_minstrel.h minstrel_ht: fixed rate mode through debugfs 2011-06-01 15:12:29 -04:00
rc80211_minstrel_debugfs.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
rc80211_minstrel_ht.c mac80211/minstrel_ht: remove the sampling bypass check for the lowest rate 2013-02-11 22:43:24 +01:00
rc80211_minstrel_ht.h
rc80211_minstrel_ht_debugfs.c mac80211/minstrel_ht: show the number of retries for each rate in debugfs 2013-02-11 22:43:11 +01:00
rc80211_pid.h Fix common misspellings 2011-03-31 11:26:23 -03:00
rc80211_pid_algo.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
rc80211_pid_debugfs.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
rx.c mac80211: protect rx-path with spinlock 2013-02-11 18:44:55 +01:00
scan.c mac80211: Fix tx queue handling during scans 2013-02-11 22:52:21 +01:00
spectmgmt.c mac80211: Remove unnecessary OOM logging messages 2011-09-13 15:45:02 -04:00
sta_info.c mac80211: fix mesh sta teardown 2013-02-11 18:44:54 +01:00
sta_info.h wireless: fix kernel-doc 2013-02-11 18:44:53 +01:00
status.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
tkip.c mac80211: remove TKIP debug 2012-06-22 11:26:58 +02: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: introduce beacon-only timing data 2013-02-11 18:45:00 +01:00
tx.c mac80211: Fix tx queue handling during scans 2013-02-11 22:52:21 +01:00
util.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
vht.c mac80211: VHT peer STA caps 2012-10-17 11:02:14 +02:00
wep.c mac80211: fix network header location when adding encryption headers 2012-05-16 12:47:43 -04:00
wep.h mac80211: move RX WEP weak IV counting 2012-03-13 14:54:16 -04:00
wme.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
wme.h mac80211: save wmm_acm per sdata 2012-06-20 17:35:22 +02:00
wpa.c mac80211: add debug file for mic failure 2012-12-05 09:44:41 +01:00
wpa.h mac80211: fix tx->skb NULL pointer dereference 2012-01-16 15:01:16 -05:00