|
@@ -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])))
|