summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Bondar <alexander.bondar@intel.com>2013-04-07 09:53:30 +0300
committerJohannes Berg <johannes.berg@intel.com>2013-04-22 15:33:06 +0200
commit908f8d07e9774c2476e0683f6a0ce50562a2da45 (patch)
treee78129be8c7044a0f53903ef74579501b07d77b3
parent6e3ab5543bed9dffb7d1a6404c3782284a432a70 (diff)
downloadlwn-908f8d07e9774c2476e0683f6a0ce50562a2da45.tar.gz
lwn-908f8d07e9774c2476e0683f6a0ce50562a2da45.zip
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.h2
-rw-r--r--net/mac80211/mlme.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 4f693a5c54de..b77d57a070e5 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 f7beb12abde2..13bb81402e1f 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,