1
0
Fork 0
remarkable-linux/net/mac80211
Jouni Malinen 23665aaf91 mac80211: Interoperability workaround for 80+80 and 160 MHz channels
Number of deployed 80 MHz capable VHT stations that do not support 80+80
and 160 MHz bandwidths seem to misbehave when trying to connect to an AP
that advertises 80+80 or 160 MHz channel bandwidth in the VHT Operation
element. To avoid such issues with deployed devices, modify the design
based on recently accepted IEEE 802.11 standard changes (*).

This allows poorly implemented VHT 80 MHz stations to connect with the
AP in 80 MHz mode. 80+80 and 160 MHz capable stations need to support
the new workaround mechanism to allow full bandwidth to be used.
However, there are more or less no impacted station with 80+80/160
capability deployed.

The rebased version of this patch is based on the updated version from
Johannes Berg to take the HT/VHT chandef refactoring into account.

(*) Changes in
https://mentor.ieee.org/802.11/dcn/15/11-15-1530-04-000m-vht160-operation-signaling-through-non-zero-ccfs1.docx
were accepted during the IEEE 802.11 January 2016 meeting.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2016-02-24 09:04:32 +01:00
..
Kconfig mac80211: use DECLARE_EWMA 2015-08-14 17:49:53 +02:00
Makefile mac80211: remove event.c 2015-10-14 18:40:26 +02:00
aes_ccm.c mac80211: Switch to new AEAD interface 2015-05-28 11:23:20 +08:00
aes_ccm.h mac80111: Add CCMP-256 cipher 2015-01-27 11:07:35 +01:00
aes_cmac.c mac80211: remove ieee80211_aes_cmac_calculate_k1_k2() 2015-08-13 11:31:45 +02:00
aes_cmac.h mac80111: Add BIP-CMAC-256 cipher 2015-01-27 11:09:13 +01:00
aes_gcm.c mac80211: Switch to new AEAD interface 2015-05-28 11:23:20 +08:00
aes_gcm.h mac80111: Add GCMP and GCMP-256 ciphers 2015-01-27 11:06:09 +01:00
aes_gmac.c mac80211: Switch to new AEAD interface 2015-05-28 11:23:20 +08:00
aes_gmac.h mac80111: Add BIP-GMAC-128 and BIP-GMAC-256 ciphers 2015-01-27 11:10:13 +01:00
agg-rx.c mac80211: add API to allow filtering frames in BA sessions 2016-02-24 09:04:31 +01:00
agg-tx.c mac80211: pass block ack session timeout to to driver 2016-01-14 11:13:17 +01:00
cfg.c mac80211: limit the A-MSDU Tx based on peer's capabilities 2016-02-24 09:04:20 +01:00
chan.c mac80211: Recalc min chandef when station is associated 2016-02-24 09:04:19 +01:00
debug.h mac80211: 802.11p OCB mode support 2014-11-04 13:18:21 +01:00
debugfs.c mac80211: support hw managing reorder logic 2016-02-24 09:04:16 +01:00
debugfs.h mac80211: fix some missing includes 2014-04-09 14:49:43 +02:00
debugfs_key.c mac80211: allow writing TX PN in debugfs 2015-09-29 15:56:50 +02:00
debugfs_key.h mac80211: support separate default keys 2010-12-13 15:23:29 -05:00
debugfs_netdev.c mac80211: remove last_beacon/ave_beacon debugfs files 2015-09-22 15:21:25 +02:00
debugfs_netdev.h mac80211: fix some missing includes 2014-04-09 14:49:43 +02:00
debugfs_sta.c mac80211: move station statistics into sub-structs 2015-10-21 10:08:22 +02:00
debugfs_sta.h
driver-ops.c mac80211: pass block ack session timeout to to driver 2016-01-14 11:13:17 +01:00
driver-ops.h mac80211: pass block ack session timeout to to driver 2016-01-14 11:13:17 +01:00
ethtool.c mac80211: move station statistics into sub-structs 2015-10-21 10:08:22 +02:00
ht.c mac80211: limit the A-MSDU Tx based on peer's capabilities 2016-02-24 09:04:20 +01:00
ibss.c mac80211: fix ibss scan parameters 2016-02-24 09:04:27 +01:00
ieee80211_i.h mac80211: change ieee80211_rx_reorder_ready() arguments 2016-02-24 09:04:31 +01:00
iface.c mac80211: expose txq queue depth and size to drivers 2016-02-24 09:04:30 +01:00
key.c mac80211: add atomic uploaded keys iterator 2015-12-04 14:43:32 +01:00
key.h mac80211: remove key TX/RX counter 2015-07-17 15:38:01 +02:00
led.c mac80211: fix throughput LED trigger 2015-05-11 19:16:04 +02:00
led.h mac80211: make LED triggering depend on activation 2015-05-05 14:21:56 +02:00
main.c mac80211: rewrite remain-on-channel logic 2015-12-04 14:43:32 +01:00
mesh.c mac80211: refactor HT/VHT to chandef code 2016-02-24 09:04:21 +01:00
mesh.h mac80211: mesh: drop constant field mean_chain_len 2016-02-24 09:04:29 +01:00
mesh_hwmp.c mac80211: move station statistics into sub-structs 2015-10-21 10:08:22 +02:00
mesh_pathtbl.c mac80211: mesh: drop constant field mean_chain_len 2016-02-24 09:04:29 +01:00
mesh_plink.c mac80211: mesh_plink: remove redundant sta_info check 2016-02-24 09:04:25 +01:00
mesh_ps.c mac80211: mesh: separate plid and aid concepts 2015-07-17 15:47:11 +02:00
mesh_sync.c mac80211: move mesh related station fields to own struct 2015-07-17 15:38:06 +02:00
michael.c
michael.h mac80211: fix some missing includes 2014-04-09 14:49:43 +02:00
mlme.c mac80211: always print a message when disconnecting 2016-02-24 09:04:28 +01:00
ocb.c mac80211: move station statistics into sub-structs 2015-10-21 10:08:22 +02:00
offchannel.c mac80211: handle HW ROC expired properly 2015-12-07 11:06:37 +01:00
pm.c mac80211: don't reconfigure sched scan in case of wowlan 2015-11-03 10:42:05 +01:00
rate.c mac80211: further improve "no supported rates" warning 2015-11-03 10:56:42 +01:00
rate.h mac80211: deinline rate_control_rate_init, rate_control_rate_update 2015-07-17 15:50:02 +02:00
rc80211_minstrel.c mac80211: fix invalid read in minstrel_sort_best_tp_rates() 2015-08-13 13:52:34 +02:00
rc80211_minstrel.h mac80211: add standard deviation to Minstrel stats 2015-04-01 20:44:33 +02:00
rc80211_minstrel_debugfs.c mac80211: minstrel[_ht]: remove non-ascii debugfs characters 2015-09-29 15:56:47 +02:00
rc80211_minstrel_ht.c mac80211: minstrel_ht: handle peers in dynamic SMPS 2015-07-17 15:38:20 +02:00
rc80211_minstrel_ht.h mac80211: add max lossless throughput per rate 2015-04-01 20:44:32 +02:00
rc80211_minstrel_ht_debugfs.c mac80211: minstrel[_ht]: remove non-ascii debugfs characters 2015-09-29 15:56:47 +02:00
rx.c mac80211: add API to allow filtering frames in BA sessions 2016-02-24 09:04:31 +01:00
scan.c mac80211: do not actively scan DFS channels 2015-12-02 22:27:53 +01:00
spectmgmt.c mac80211: remove unused variable in ieee80211_parse_ch_switch_ie() 2014-12-17 15:45:17 +01:00
sta_info.c mac80211: expose txq queue depth and size to drivers 2016-02-24 09:04:30 +01:00
sta_info.h mac80211: add API to allow filtering frames in BA sessions 2016-02-24 09:04:31 +01:00
status.c Here's another set of patches for the current cycle: 2015-10-22 07:28:41 -07:00
tdls.c mac80211: TDLS: add proper HT-oper IE 2015-11-03 10:42:47 +01: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: Move message tracepoints to their own header 2015-04-07 12:32:09 -04:00
trace.h mac80211: pass block ack session timeout to to driver 2016-01-14 11:13:17 +01:00
trace_msg.h mac80211: Move message tracepoints to their own header 2015-04-07 12:32:09 -04:00
tx.c mac80211: expose txq queue depth and size to drivers 2016-02-24 09:04:30 +01:00
util.c mac80211: Interoperability workaround for 80+80 and 160 MHz channels 2016-02-24 09:04:32 +01:00
vht.c mac80211: limit the A-MSDU Tx based on peer's capabilities 2016-02-24 09:04:20 +01:00
wep.c mac80211: move WEP tailroom size check 2015-05-11 14:51:29 +02:00
wep.h mac80211: move RX WEP weak IV counting 2012-03-13 14:54:16 -04:00
wme.c mac80211: synchronously reserve TID per station 2014-11-19 18:45:36 +01:00
wme.h mac80211: add WMM admission control support 2014-10-22 10:42:09 +02:00
wpa.c mac80211: remove event.c 2015-10-14 18:40:26 +02:00
wpa.h mac80111: Add BIP-GMAC-128 and BIP-GMAC-256 ciphers 2015-01-27 11:10:13 +01:00