summaryrefslogtreecommitdiffstats
path: root/include/net/cfg80211.h
diff options
context:
space:
mode:
authorJohannes Berg2011-09-27 20:56:12 +0200
committerJohn W. Linville2011-09-30 21:57:03 +0200
commit3b9ce80ce96aeaeacab5e26442987df45584a049 (patch)
tree525b1ad3c3486d271877d830cc895172689cc592 /include/net/cfg80211.h
parentrtlwifi: Remove unused _usb_nbytes_read_write and _usb_writeN_sync (diff)
downloadkernel-qcow2-linux-3b9ce80ce96aeaeacab5e26442987df45584a049.tar.gz
kernel-qcow2-linux-3b9ce80ce96aeaeacab5e26442987df45584a049.tar.xz
kernel-qcow2-linux-3b9ce80ce96aeaeacab5e26442987df45584a049.zip
cfg80211/mac80211: apply station uAPSD parameters selectively
Currently, when hostapd sets the station as authorized we also overwrite its uAPSD parameter. This obviously leads to buggy behaviour (later, with my patches that actually add uAPSD support). To fix this, only apply those parameters if they were actually set in nl80211, and to achieve that add a bitmap of things to apply. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r--include/net/cfg80211.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 31d823a3092b..34b8f269976b 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -424,6 +424,17 @@ enum plink_actions {
};
/**
+ * enum station_parameters_apply_mask - station parameter values to apply
+ * @STATION_PARAM_APPLY_UAPSD: apply new uAPSD parameters (uapsd_queues, max_sp)
+ *
+ * Not all station parameters have in-band "no change" signalling,
+ * for those that don't these flags will are used.
+ */
+enum station_parameters_apply_mask {
+ STATION_PARAM_APPLY_UAPSD = BIT(0),
+};
+
+/**
* struct station_parameters - station parameters
*
* Used to change and create a new station.
@@ -450,6 +461,7 @@ struct station_parameters {
u8 *supported_rates;
struct net_device *vlan;
u32 sta_flags_mask, sta_flags_set;
+ u32 sta_modify_mask;
int listen_interval;
u16 aid;
u8 supported_rates_len;