aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-07-10 05:22:31 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-07-14 14:52:57 -0400
commitf434b2d111d9ff84ebdd0f11a7ae42c761453259 (patch)
tree8c19b89773cb03812e81f3d170c97c31925dec36
parentf591fa5dbbbeaebd95c9c019b3a536a327fb79de (diff)
mac80211: fix struct ieee80211_tx_queue_params
Multiple issues: - there are no "default" values needed - cw_min/cw_max can be larger than documented - restructure to decrease size - use get_unaligned_le16 Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--include/net/mac80211.h10
-rw-r--r--net/mac80211/mlme.c2
2 files changed, 6 insertions, 6 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 1dbd49fc557e..24a69f6075c2 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -115,17 +115,17 @@ enum ieee80211_max_queues {
115 * The information provided in this structure is required for QoS 115 * The information provided in this structure is required for QoS
116 * transmit queue configuration. Cf. IEEE 802.11 7.3.2.29. 116 * transmit queue configuration. Cf. IEEE 802.11 7.3.2.29.
117 * 117 *
118 * @aifs: arbitration interface space [0..255, -1: use default] 118 * @aifs: arbitration interface space [0..255]
119 * @cw_min: minimum contention window [will be a value of the form 119 * @cw_min: minimum contention window [a value of the form
120 * 2^n-1 in the range 1..1023; 0: use default] 120 * 2^n-1 in the range 1..32767]
121 * @cw_max: maximum contention window [like @cw_min] 121 * @cw_max: maximum contention window [like @cw_min]
122 * @txop: maximum burst time in units of 32 usecs, 0 meaning disabled 122 * @txop: maximum burst time in units of 32 usecs, 0 meaning disabled
123 */ 123 */
124struct ieee80211_tx_queue_params { 124struct ieee80211_tx_queue_params {
125 s16 aifs; 125 u16 txop;
126 u16 cw_min; 126 u16 cw_min;
127 u16 cw_max; 127 u16 cw_max;
128 u16 txop; 128 u8 aifs;
129}; 129};
130 130
131/** 131/**
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 61d7f81bf45e..a4bbc8d6d0e6 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -345,7 +345,7 @@ static void ieee80211_sta_wmm_params(struct net_device *dev,
345 params.aifs = pos[0] & 0x0f; 345 params.aifs = pos[0] & 0x0f;
346 params.cw_max = ecw2cw((pos[1] & 0xf0) >> 4); 346 params.cw_max = ecw2cw((pos[1] & 0xf0) >> 4);
347 params.cw_min = ecw2cw(pos[1] & 0x0f); 347 params.cw_min = ecw2cw(pos[1] & 0x0f);
348 params.txop = pos[2] | (pos[3] << 8); 348 params.txop = get_unaligned_le16(pos + 2);
349#ifdef CONFIG_MAC80211_VERBOSE_DEBUG 349#ifdef CONFIG_MAC80211_VERBOSE_DEBUG
350 printk(KERN_DEBUG "%s: WMM queue=%d aci=%d acm=%d aifs=%d " 350 printk(KERN_DEBUG "%s: WMM queue=%d aci=%d acm=%d aifs=%d "
351 "cWmin=%d cWmax=%d txop=%d\n", 351 "cWmin=%d cWmax=%d txop=%d\n",