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.
|
* user space. Otherwise, port is marked authorized by default.
|
||||||
* @basic_rates: bitmap of basic rates to use when creating the IBSS
|
* @basic_rates: bitmap of basic rates to use when creating the IBSS
|
||||||
* @mcast_rate: per-band multicast rate index + 1 (0: disabled)
|
* @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 {
|
struct cfg80211_ibss_params {
|
||||||
u8 *ssid;
|
u8 *ssid;
|
||||||
|
@ -1605,6 +1608,8 @@ struct cfg80211_ibss_params {
|
||||||
bool privacy;
|
bool privacy;
|
||||||
bool control_port;
|
bool control_port;
|
||||||
int mcast_rate[IEEE80211_NUM_BANDS];
|
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;
|
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] &&
|
if (info->attrs[NL80211_ATTR_MCAST_RATE] &&
|
||||||
!nl80211_parse_mcast_rate(rdev, ibss.mcast_rate,
|
!nl80211_parse_mcast_rate(rdev, ibss.mcast_rate,
|
||||||
nla_get_u32(info->attrs[NL80211_ATTR_MCAST_RATE])))
|
nla_get_u32(info->attrs[NL80211_ATTR_MCAST_RATE])))
|
||||||
|
|
Loading…
Reference in a new issue