diff options
author | Alexander Bondar <alexander.bondar@intel.com> | 2013-04-07 09:53:30 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-04-22 15:33:06 +0200 |
commit | 908f8d07e9774c2476e0683f6a0ce50562a2da45 (patch) | |
tree | e78129be8c7044a0f53903ef74579501b07d77b3 | |
parent | 6e3ab5543bed9dffb7d1a6404c3782284a432a70 (diff) | |
download | op-kernel-dev-908f8d07e9774c2476e0683f6a0ce50562a2da45.zip op-kernel-dev-908f8d07e9774c2476e0683f6a0ce50562a2da45.tar.gz |
mac80211: indicate admission control in TX queue parameters
Some driver implementations need to know whether mandatory
admission control is required by the AP for some ACs. Add
a parameter to the TX queue parameters indicating this.
As there's currently no support for admission control in
mac80211's AP implementation, it's only ever set for the
client implementation.
Signed-off-by: Alexander Bondar <alexander.bondar@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r-- | include/net/mac80211.h | 2 | ||||
-rw-r--r-- | net/mac80211/mlme.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 4f693a5..b77d57a 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h @@ -128,6 +128,7 @@ enum ieee80211_ac_numbers { * 2^n-1 in the range 1..32767] * @cw_max: maximum contention window [like @cw_min] * @txop: maximum burst time in units of 32 usecs, 0 meaning disabled + * @acm: is mandatory admission control required for the access category * @uapsd: is U-APSD mode enabled for the queue */ struct ieee80211_tx_queue_params { @@ -135,6 +136,7 @@ struct ieee80211_tx_queue_params { u16 cw_min; u16 cw_max; u8 aifs; + bool acm; bool uapsd; }; diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index f7beb12..13bb814 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -1661,6 +1661,7 @@ static bool ieee80211_sta_wmm_params(struct ieee80211_local *local, params.cw_max = ecw2cw((pos[1] & 0xf0) >> 4); params.cw_min = ecw2cw(pos[1] & 0x0f); params.txop = get_unaligned_le16(pos + 2); + params.acm = acm; params.uapsd = uapsd; mlme_dbg(sdata, |