Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Arik Nemtsov and committed by
John W. Linville
39df600a f01dce94

+6 -1
+2
include/net/mac80211.h
··· 933 933 * @aid: AID we assigned to the station if we're an AP 934 934 * @supp_rates: Bitmap of supported rates (per band) 935 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 937 * @drv_priv: data area for driver use, will always be aligned to 937 938 * sizeof(void *), size is determined in hw information. 938 939 */ ··· 942 941 u8 addr[ETH_ALEN]; 943 942 u16 aid; 944 943 struct ieee80211_sta_ht_cap ht_cap; 944 + bool wme; 945 945 946 946 /* must be last */ 947 947 u8 drv_priv[0] __attribute__((__aligned__(sizeof(void *))));
+4 -1
net/mac80211/cfg.c
··· 674 674 675 675 if (mask & BIT(NL80211_STA_FLAG_WME)) { 676 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 679 sta->flags |= WLAN_STA_WME; 680 + sta->sta.wme = true; 681 + } 679 682 } 680 683 681 684 if (mask & BIT(NL80211_STA_FLAG_MFP)) {