nl80211: enable HT overrides for ibss
Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de> Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
This commit is contained in:
parent
50ac660784
commit
803768f54e
2 changed files with 18 additions and 0 deletions
|
@ -1592,6 +1592,9 @@ struct cfg80211_disassoc_request {
|
|||
* user space. Otherwise, port is marked authorized by default.
|
||||
* @basic_rates: bitmap of basic rates to use when creating the IBSS
|
||||
* @mcast_rate: per-band multicast rate index + 1 (0: disabled)
|
||||
* @ht_capa: HT Capabilities over-rides. Values set in ht_capa_mask
|
||||
* will be used in ht_capa. Un-supported values will be ignored.
|
||||
* @ht_capa_mask: The bits of ht_capa which are to be used.
|
||||
*/
|
||||
struct cfg80211_ibss_params {
|
||||
u8 *ssid;
|
||||
|
@ -1605,6 +1608,8 @@ struct cfg80211_ibss_params {
|
|||
bool privacy;
|
||||
bool control_port;
|
||||
int mcast_rate[IEEE80211_NUM_BANDS];
|
||||
struct ieee80211_ht_cap ht_capa;
|
||||
struct ieee80211_ht_cap ht_capa_mask;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -6346,6 +6346,19 @@ static int nl80211_join_ibss(struct sk_buff *skb, struct genl_info *info)
|
|||
return err;
|
||||
}
|
||||
|
||||
if (info->attrs[NL80211_ATTR_HT_CAPABILITY_MASK])
|
||||
memcpy(&ibss.ht_capa_mask,
|
||||
nla_data(info->attrs[NL80211_ATTR_HT_CAPABILITY_MASK]),
|
||||
sizeof(ibss.ht_capa_mask));
|
||||
|
||||
if (info->attrs[NL80211_ATTR_HT_CAPABILITY]) {
|
||||
if (!info->attrs[NL80211_ATTR_HT_CAPABILITY_MASK])
|
||||
return -EINVAL;
|
||||
memcpy(&ibss.ht_capa,
|
||||
nla_data(info->attrs[NL80211_ATTR_HT_CAPABILITY]),
|
||||
sizeof(ibss.ht_capa));
|
||||
}
|
||||
|
||||
if (info->attrs[NL80211_ATTR_MCAST_RATE] &&
|
||||
!nl80211_parse_mcast_rate(rdev, ibss.mcast_rate,
|
||||
nla_get_u32(info->attrs[NL80211_ATTR_MCAST_RATE])))
|
||||
|
|
Loading…
Reference in a new issue