aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2011-06-27 16:58:45 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-06-29 15:11:00 -0400
commit39df600aa6ac027b53c4ce3089cba57467a960df (patch)
tree3f439b592816832d7d3e3b39bf30a9fe8ff9b1d2
parentf01dce9474e9f09290707b523a134a9605845b00 (diff)
mac80211: propagate information about STA WME support down
Add a memeber to the ieee80211_sta structure to indicate whether the STA supports WME. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--include/net/mac80211.h2
-rw-r--r--net/mac80211/cfg.c5
2 files changed, 6 insertions, 1 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 120f102814b..c9def42c128 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -933,6 +933,7 @@ enum set_key_cmd {
933 * @aid: AID we assigned to the station if we're an AP 933 * @aid: AID we assigned to the station if we're an AP
934 * @supp_rates: Bitmap of supported rates (per band) 934 * @supp_rates: Bitmap of supported rates (per band)
935 * @ht_cap: HT capabilities of this STA; restricted to our own TX capabilities 935 * @ht_cap: HT capabilities of this STA; restricted to our own TX capabilities
936 * @wme: indicates whether the STA supports WME. Only valid during AP-mode.
936 * @drv_priv: data area for driver use, will always be aligned to 937 * @drv_priv: data area for driver use, will always be aligned to
937 * sizeof(void *), size is determined in hw information. 938 * sizeof(void *), size is determined in hw information.
938 */ 939 */
@@ -941,6 +942,7 @@ struct ieee80211_sta {
941 u8 addr[ETH_ALEN]; 942 u8 addr[ETH_ALEN];
942 u16 aid; 943 u16 aid;
943 struct ieee80211_sta_ht_cap ht_cap; 944 struct ieee80211_sta_ht_cap ht_cap;
945 bool wme;
944 946
945 /* must be last */ 947 /* must be last */
946 u8 drv_priv[0] __attribute__((__aligned__(sizeof(void *)))); 948 u8 drv_priv[0] __attribute__((__aligned__(sizeof(void *))));
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 6e56c6ee7cc..9fe22cc393c 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -674,8 +674,11 @@ static void sta_apply_parameters(struct ieee80211_local *local,
674 674
675 if (mask & BIT(NL80211_STA_FLAG_WME)) { 675 if (mask & BIT(NL80211_STA_FLAG_WME)) {
676 sta->flags &= ~WLAN_STA_WME; 676 sta->flags &= ~WLAN_STA_WME;
677 if (set & BIT(NL80211_STA_FLAG_WME)) 677 sta->sta.wme = false;
678 if (set & BIT(NL80211_STA_FLAG_WME)) {
678 sta->flags |= WLAN_STA_WME; 679 sta->flags |= WLAN_STA_WME;
680 sta->sta.wme = true;
681 }
679 } 682 }
680 683
681 if (mask & BIT(NL80211_STA_FLAG_MFP)) { 684 if (mask & BIT(NL80211_STA_FLAG_MFP)) {