diff mbox

[RFC,v1,1/4] cfg80211: add U-APSD support

Message ID 20091127140756.2847.34880.stgit@tikku (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Kalle Valo Nov. 27, 2009, 2:07 p.m. UTC
None
diff mbox

Patch

diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index da8ea2e..7bb020b 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -1284,6 +1284,7 @@  enum nl80211_meshconf_params {
  * @NL80211_TXQ_ATTR_CWMAX: Maximum contention window [a value of the form
  *	2^n-1 in the range 1..32767]
  * @NL80211_TXQ_ATTR_AIFS: Arbitration interframe space [0..255]
+ * @NL80211_TXQ_ATTR_UAPSD: U-APSD enabled [0..1]
  * @__NL80211_TXQ_ATTR_AFTER_LAST: Internal
  * @NL80211_TXQ_ATTR_MAX: Maximum TXQ attribute number
  */
@@ -1294,6 +1295,7 @@  enum nl80211_txq_attr {
 	NL80211_TXQ_ATTR_CWMIN,
 	NL80211_TXQ_ATTR_CWMAX,
 	NL80211_TXQ_ATTR_AIFS,
+	NL80211_TXQ_ATTR_UAPSD,
 
 	/* keep last */
 	__NL80211_TXQ_ATTR_AFTER_LAST,
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 0884b9a..7be82d7 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -556,6 +556,7 @@  struct ieee80211_txq_params {
 	u16 cwmin;
 	u16 cwmax;
 	u8 aifs;
+	bool uapsd;
 };
 
 /* from net/wireless.h */
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index a602843..54c9941 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -670,6 +670,9 @@  static int parse_txq_params(struct nlattr *tb[],
 	txq_params->cwmax = nla_get_u16(tb[NL80211_TXQ_ATTR_CWMAX]);
 	txq_params->aifs = nla_get_u8(tb[NL80211_TXQ_ATTR_AIFS]);
 
+	if (tb[NL80211_TXQ_ATTR_UAPSD])
+		txq_params->uapsd = nla_get_u8(tb[NL80211_TXQ_ATTR_UAPSD]);
+
 	return 0;
 }