linux/net/mac80211
Johannes Berg 095d81cee7 mac80211: disable WMM with invalid parameters
Some APs (notably a Sitecom WL-153 v1 with firmware 1.45) are sending
invalid WMM parameters setting AIFSN, ECWmin and ECWmax to zero. The
spec mandates that the value of AIFSN is at least 2, and some cards
(e.g. Intel with the iwldvm driver) can't transmit when the invalid
QoS parameters are actually uploaded to the firmware.

Since there's little chance of being able to guess the values that
the AP actually meant, disable WMM if such an invalid case is found.
Since ECWmin/ECWmax are allowed to be zero, only verify AIFSN >= 2
and ECWmin <= ECWmax.

Reviewed-by: Eliad Peller <eliad@wizery.com>
Reported-by: Antonio Quartulli <antonio@meshcoding.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-10-17 15:38:22 +02:00
..
aes_ccm.c wireless: move crypto constants to ieee80211.h 2013-05-16 22:39:41 +02: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: use sta_info_get_bss() for nl80211 tx and client probing 2013-09-30 11:30:57 +02:00
cfg.h
chan.c mac80211: add channel switch command and beacon callbacks 2013-08-01 18:30:33 +02:00
debug.h mac80211: mesh power save basics 2013-02-04 18:57:47 +01: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 cfg80211/mac80211: use cfg80211 wdev mutex in mac80211 2013-05-25 00:02:16 +02:00
debugfs_netdev.h
debugfs_sta.c mac80211: add debugfs for driver-buffered TID bitmap 2013-08-01 15:08:24 +02:00
debugfs_sta.h
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
driver-ops.h mac80211: add channel switch command and beacon callbacks 2013-08-01 18:30:33 +02:00
event.c
ht.c mac80211: enable HT overrides for ibss 2013-07-16 09:57:57 +03:00
ibss.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2013-08-28 10:36:09 -04:00
ieee80211_i.h mac80211: disable WMM with invalid parameters 2013-10-17 15:38:22 +02:00
iface.c mac80211: fix change_interface queue assignments 2013-08-26 09:52:58 +02:00
Kconfig Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
key.c mac80211: add APIs to allow keeping connections after WoWLAN 2013-08-16 12:58:43 +02:00
key.h wireless: move crypto constants to ieee80211.h 2013-05-16 22:39:41 +02: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: move setting WIPHY_FLAG_SUPPORTS_SCHED_SCAN into drivers 2013-08-23 12:02:26 +02:00
Makefile mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
mesh_hwmp.c mac80211: parse VHT channel switch IEs 2013-04-16 15:29:45 +02:00
mesh_pathtbl.c mac80211: return new mpath from mesh_path_add() 2013-04-08 09:16:59 +02:00
mesh_plink.c mac80211: select and adjust bitrates according to channel mode 2013-07-16 09:58:06 +03:00
mesh_ps.c mac80211: prevent the buffering or frame transmission to non-assoc mesh STA 2013-07-22 15:32:47 +02:00
mesh_sync.c mac80211: clean up mesh code 2013-02-15 15:46:37 +01:00
mesh.c mac80211: only respond to probe request with mesh ID 2013-08-23 15:25:06 +02:00
mesh.h mac80211: update mesh beacon on workqueue 2013-06-18 15:57:27 +02:00
michael.c
michael.h
mlme.c mac80211: disable WMM with invalid parameters 2013-10-17 15:38:22 +02: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 monitor interface suspend crash regression 2013-07-23 14:02:08 +02:00
rate.c mac80211: respect rate mask in TX 2013-10-15 15:16:29 +02:00
rate.h mac80211/rc80211: add chandef to rate initialization 2013-07-16 09:58:02 +03:00
rc80211_minstrel_debugfs.c mac80211: cosmetics for minstrel_debugfs 2013-04-17 17:08:23 +02:00
rc80211_minstrel_ht_debugfs.c mac80211/minstrel_ht: add support for using CCK rates 2013-02-13 10:56:33 +01:00
rc80211_minstrel_ht.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2013-08-28 13:51:40 -04:00
rc80211_minstrel_ht.h mac80211/minstrel_ht: use the new rate control API 2013-04-22 16:16:41 +02:00
rc80211_minstrel.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2013-08-01 15:26:52 -04:00
rc80211_minstrel.h mac80211/minstrel: use the new rate control API 2013-04-22 16:16:41 +02:00
rc80211_pid_algo.c mac80211/rc80211: add chandef to rate initialization 2013-07-16 09:58:02 +03: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
rc80211_pid.h
rx.c mac80211: drop spoofed packets in ad-hoc mode 2013-09-26 19:56:06 +02:00
scan.c mac80211: correctly close cancelled scans 2013-10-09 18:40:07 +02:00
spectmgmt.c mac80211: Remove unnecessary OOM logging messages 2011-09-13 15:45:02 -04:00
sta_info.c mac80211: initialize power mode for mesh STAs 2013-06-24 15:59:20 +02:00
sta_info.h mac80211: Ensure tid_start_tx is protected by sta->lock 2013-06-13 10:27:07 +02:00
status.c mac80211: update sta->last_rx on acked tx frames 2013-09-30 12:34:09 +02:00
tkip.c mac80211: use just spin_lock() in ieee80211_get_tkip_p2k() 2013-05-16 22:38:06 +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: add channel switch command and beacon callbacks 2013-08-01 18:30:33 +02:00
tx.c mac80211: use sta_info_get_bss() for nl80211 tx and client probing 2013-09-30 11:30:57 +02:00
util.c mac80211: fix crash if bitrate calculation goes wrong 2013-10-14 09:47:08 +02:00
vht.c mac80211: Fix VHT bandwidth change event 2013-06-13 11:58:47 +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: 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 wireless: move crypto constants to ieee80211.h 2013-05-16 22:39:41 +02:00
wpa.h mac80211: fix tx->skb NULL pointer dereference 2012-01-16 15:01:16 -05:00