Commit f434b2d1 authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville

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: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent f591fa5d
...@@ -115,17 +115,17 @@ enum ieee80211_max_queues { ...@@ -115,17 +115,17 @@ enum ieee80211_max_queues {
* The information provided in this structure is required for QoS * The information provided in this structure is required for QoS
* transmit queue configuration. Cf. IEEE 802.11 7.3.2.29. * transmit queue configuration. Cf. IEEE 802.11 7.3.2.29.
* *
* @aifs: arbitration interface space [0..255, -1: use default] * @aifs: arbitration interface space [0..255]
* @cw_min: minimum contention window [will be a value of the form * @cw_min: minimum contention window [a value of the form
* 2^n-1 in the range 1..1023; 0: use default] * 2^n-1 in the range 1..32767]
* @cw_max: maximum contention window [like @cw_min] * @cw_max: maximum contention window [like @cw_min]
* @txop: maximum burst time in units of 32 usecs, 0 meaning disabled * @txop: maximum burst time in units of 32 usecs, 0 meaning disabled
*/ */
struct ieee80211_tx_queue_params { struct ieee80211_tx_queue_params {
s16 aifs; u16 txop;
u16 cw_min; u16 cw_min;
u16 cw_max; u16 cw_max;
u16 txop; u8 aifs;
}; };
/** /**
......
...@@ -345,7 +345,7 @@ static void ieee80211_sta_wmm_params(struct net_device *dev, ...@@ -345,7 +345,7 @@ static void ieee80211_sta_wmm_params(struct net_device *dev,
params.aifs = pos[0] & 0x0f; params.aifs = pos[0] & 0x0f;
params.cw_max = ecw2cw((pos[1] & 0xf0) >> 4); params.cw_max = ecw2cw((pos[1] & 0xf0) >> 4);
params.cw_min = ecw2cw(pos[1] & 0x0f); params.cw_min = ecw2cw(pos[1] & 0x0f);
params.txop = pos[2] | (pos[3] << 8); params.txop = get_unaligned_le16(pos + 2);
#ifdef CONFIG_MAC80211_VERBOSE_DEBUG #ifdef CONFIG_MAC80211_VERBOSE_DEBUG
printk(KERN_DEBUG "%s: WMM queue=%d aci=%d acm=%d aifs=%d " printk(KERN_DEBUG "%s: WMM queue=%d aci=%d acm=%d aifs=%d "
"cWmin=%d cWmax=%d txop=%d\n", "cWmin=%d cWmax=%d txop=%d\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment