diff options
author | Jouni Malinen <jouni@qca.qualcomm.com> | 2013-02-14 14:10:13 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-02-15 03:41:43 -0500 |
commit | 9d62a98617298c1da288f50e84c5dd67732e79b7 (patch) | |
tree | 63273fe1ade1b83c876db02ee75b951e1825b9dc /include/net/cfg80211.h | |
parent | c6f9d6c3bdeb337809d667ef2a41597229a1ce57 (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.h | 8 |
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 | */ |
633 | enum station_parameters_apply_mask { | 634 | enum 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 | */ |
666 | struct station_parameters { | 671 | struct 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 | /** |