linux/net/mac80211
Jouni Malinen 0eeb59fe2c mac80211: Fix WMM ACM parsing and AC downgrade operation
Incorrect local->wmm_acm bits were set for AC_BK and AC_BE. Fix this
and add some comments to make it easier to understand the AC-to-UP(pair)
mapping. Set the wmm_acm bits (and show WMM debug) even if the driver
does not implement conf_tx() handler.

In addition, fix the ACM-based AC downgrade code to not use the
highest priority in error cases. We need to break the loop to get the
correct AC_BK value (3) instead of returning 0 (which would indicate
AC_VO). The comment here was not really very useful either, so let's
provide somewhat more helpful description of the situation.

Since it is very unlikely that the ACM flag would be set for AC_BK and
AC_BE, these bugs are not likely to be seen in real life networks.
Anyway, better do these things correctly should someone really use
silly AP configuration (and to pass some functionality tests, too).

Remove the TODO comment about handling ACM. Downgrading AC is
perfectly valid mechanism for ACM. Eventually, we may add support for
WMM-AC and send a request for a TS, but anyway, that functionality
won't be here at the location of this TODO comment.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-03-16 18:09:27 -04:00
..
Kconfig mac80211: make Minstrel the default rate control algorithm 2008-11-26 09:47:03 -05:00
Makefile mac80211: split IBSS/managed code 2009-02-27 14:51:42 -05:00
aes_ccm.c mac80211: aes_ccm.c remove crypto wrapper and extra args 2008-07-08 14:16:02 -04:00
aes_ccm.h mac80211: pass scratch buffer directly, remove additional pointers 2008-07-08 14:16:02 -04:00
aes_cmac.c mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
aes_cmac.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
agg-rx.c mac80211: split IBSS/managed code 2009-02-27 14:51:42 -05:00
agg-tx.c mac80211: split IBSS/managed code 2009-02-27 14:51:42 -05:00
cfg.c mac80211: Notify the driver only when the beacon interval changes 2009-03-05 14:39:32 -05:00
cfg.h [MAC80211]: rename ieee80211_cfg.h to cfg.h 2007-10-10 16:52:34 -07:00
debugfs.c mac80211: Generic TSF debugging 2009-01-29 16:01:46 -05:00
debugfs.h
debugfs_key.c mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
debugfs_key.h mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
debugfs_netdev.c mac80211: split IBSS/managed code 2009-02-27 14:51:42 -05:00
debugfs_netdev.h mac80211: revamp virtual interface handling 2008-07-14 14:30:07 -04:00
debugfs_sta.c mac80211: 802.11w - STA flag for MFP 2009-01-29 16:00:00 -05:00
debugfs_sta.h mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
event.c mac80211: convert to %pM away from print_mac 2008-10-27 17:06:16 -07:00
ht.c mac80211: Extend the rate control API with an update callback 2009-02-27 14:51:45 -05:00
ibss.c mac80211: Update IBSS beacon timestamp properly 2009-03-05 14:39:40 -05:00
ieee80211_i.h mac80211: Introduce a generic commit() to apply changes 2009-02-27 14:52:54 -05:00
iface.c mac80211: split IBSS/managed code 2009-02-27 14:51:42 -05:00
key.c mac80211: split IBSS/managed code 2009-02-27 14:51:42 -05:00
key.h mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
led.c mac80211: rename files 2008-04-08 16:44:45 -04:00
led.h mac80211: rename files 2008-04-08 16:44:45 -04:00
main.c cfg80211: clean up signal type 2009-02-27 14:52:42 -05:00
mesh.c mac80211: use cfg80211s BSS infrastructure 2009-02-13 13:45:58 -05:00
mesh.h mac80211: use cfg80211s BSS infrastructure 2009-02-13 13:45:58 -05:00
mesh_hwmp.c mac80211: fix RX aggregation timeouts 2009-02-13 13:45:32 -05:00
mesh_pathtbl.c mac80211: mesh portal functionality support 2008-09-24 16:18:02 -04:00
mesh_plink.c wireless: restrict to 32 legacy rates 2009-01-29 16:01:09 -05:00
michael.c mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
michael.h mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
mlme.c mac80211: Fix WMM ACM parsing and AC downgrade operation 2009-03-16 18:09:27 -04:00
pm.c mac80211: flush workqueue a second time in suspend() 2009-01-29 16:01:42 -05:00
rate.c mac80211/drivers: rewrite the rate control API 2008-10-31 19:00:23 -04:00
rate.h mac80211: Extend the rate control API with an update callback 2009-02-27 14:51:45 -05:00
rc80211_minstrel.c minstrel: fix warning if lowest supported rate index is not 0 2009-01-12 14:24:55 -05:00
rc80211_minstrel.h minstrel: improve performance for non-MRR drivers 2008-10-31 19:00:36 -04:00
rc80211_minstrel_debugfs.c mac80211: correct warnings in minstrel rate control algorithm 2008-10-27 17:46:11 -04:00
rc80211_pid.h mac80211/drivers: rewrite the rate control API 2008-10-31 19:00:23 -04:00
rc80211_pid_algo.c mac80211: Fix pid rate-setting algorithm to allow rate changes 2008-11-26 09:47:20 -05:00
rc80211_pid_debugfs.c mac80211/drivers: rewrite the rate control API 2008-10-31 19:00:23 -04:00
rx.c mac80211: split IBSS/managed code 2009-02-27 14:51:42 -05:00
scan.c mac80211: Add software scan notifiers 2009-02-27 14:52:51 -05:00
spectmgmt.c mac80211: split IBSS/managed code 2009-02-27 14:51:42 -05:00
sta_info.c mac80211: fix aggregation for hardware with ampdu queues 2009-02-27 14:51:42 -05:00
sta_info.h mac80211: add missing kernel-doc 2009-02-27 14:52:41 -05:00
tkip.c mac80211: convert to %pM away from print_mac 2008-10-27 17:06:16 -07:00
tkip.h mac80211: tkip.c consolidate tkip IV writing in helper 2008-06-14 12:18:13 -04:00
tx.c mac80211: split IBSS/managed code 2009-02-27 14:51:42 -05:00
util.c nl80211: Optional IEs into scan request 2009-02-27 14:52:38 -05:00
wep.c mac80211: fix unaligned access in ieee80211_wep_encrypt_data 2008-11-26 09:47:51 -05:00
wep.h mac80211: minor code cleanups 2008-10-31 18:05:59 -04:00
wext.c mac80211: Fix quality reporting for wireless stats 2009-03-05 14:39:35 -05:00
wme.c mac80211: Fix WMM ACM parsing and AC downgrade operation 2009-03-16 18:09:27 -04:00
wme.h mac80211: fix aggregation for hardware with ampdu queues 2009-02-27 14:51:42 -05:00
wpa.c mac80211: 802.11w - Optional software CCMP for management frames 2009-01-29 16:00:08 -05:00
wpa.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00