aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/cfg80211.h
diff options
context:
space:
mode:
authorJouni Malinen <jouni@qca.qualcomm.com>2013-02-14 14:10:13 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-02-15 03:41:43 -0500
commit9d62a98617298c1da288f50e84c5dd67732e79b7 (patch)
tree63273fe1ade1b83c876db02ee75b951e1825b9dc /include/net/cfg80211.h
parentc6f9d6c3bdeb337809d667ef2a41597229a1ce57 (diff)
cfg80211: Pass station (extended) capability info to kernel
The information of the peer's capabilities and extended capabilities are required for the driver to perform TDLS Peer UAPSD operations and off channel operations. This information of the peer is passed from user space using NL80211_CMD_SET_STATION command. This commit enhances the function nl80211_set_station to pass the capability information of the peer to the driver. Similarly, there may be need for capability information for other modes, so allow this to be provided with both add_station and change_station. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r--include/net/cfg80211.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index a229046d86d4..fa2612952c19 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -626,12 +626,14 @@ enum plink_actions {
626/** 626/**
627 * enum station_parameters_apply_mask - station parameter values to apply 627 * enum station_parameters_apply_mask - station parameter values to apply
628 * @STATION_PARAM_APPLY_UAPSD: apply new uAPSD parameters (uapsd_queues, max_sp) 628 * @STATION_PARAM_APPLY_UAPSD: apply new uAPSD parameters (uapsd_queues, max_sp)
629 * @STATION_PARAM_APPLY_CAPABILITY: apply new capability
629 * 630 *
630 * Not all station parameters have in-band "no change" signalling, 631 * Not all station parameters have in-band "no change" signalling,
631 * for those that don't these flags will are used. 632 * for those that don't these flags will are used.
632 */ 633 */
633enum station_parameters_apply_mask { 634enum station_parameters_apply_mask {
634 STATION_PARAM_APPLY_UAPSD = BIT(0), 635 STATION_PARAM_APPLY_UAPSD = BIT(0),
636 STATION_PARAM_APPLY_CAPABILITY = BIT(1),
635}; 637};
636 638
637/** 639/**
@@ -662,6 +664,9 @@ enum station_parameters_apply_mask {
662 * see &enum station_parameters_apply_mask 664 * see &enum station_parameters_apply_mask
663 * @local_pm: local link-specific mesh power save mode (no change when set 665 * @local_pm: local link-specific mesh power save mode (no change when set
664 * to unknown) 666 * to unknown)
667 * @capability: station capability
668 * @ext_capab: extended capabilities of the station
669 * @ext_capab_len: number of extended capabilities
665 */ 670 */
666struct station_parameters { 671struct station_parameters {
667 u8 *supported_rates; 672 u8 *supported_rates;
@@ -678,6 +683,9 @@ struct station_parameters {
678 u8 uapsd_queues; 683 u8 uapsd_queues;
679 u8 max_sp; 684 u8 max_sp;
680 enum nl80211_mesh_power_mode local_pm; 685 enum nl80211_mesh_power_mode local_pm;
686 u16 capability;
687 u8 *ext_capab;
688 u8 ext_capab_len;
681}; 689};
682 690
683/** 691/**