|
@@ -3390,7 +3390,9 @@ static int nl80211_get_mesh_config(struct sk_buff *skb,
|
|
nla_put_u8(msg, NL80211_MESHCONF_FORWARDING,
|
|
nla_put_u8(msg, NL80211_MESHCONF_FORWARDING,
|
|
cur_params.dot11MeshForwarding) ||
|
|
cur_params.dot11MeshForwarding) ||
|
|
nla_put_u32(msg, NL80211_MESHCONF_RSSI_THRESHOLD,
|
|
nla_put_u32(msg, NL80211_MESHCONF_RSSI_THRESHOLD,
|
|
- cur_params.rssi_threshold))
|
|
|
|
|
|
+ cur_params.rssi_threshold) ||
|
|
|
|
+ nla_put_u32(msg, NL80211_MESHCONF_HT_OPMODE,
|
|
|
|
+ cur_params.ht_opmode))
|
|
goto nla_put_failure;
|
|
goto nla_put_failure;
|
|
nla_nest_end(msg, pinfoattr);
|
|
nla_nest_end(msg, pinfoattr);
|
|
genlmsg_end(msg, hdr);
|
|
genlmsg_end(msg, hdr);
|
|
@@ -3426,6 +3428,7 @@ static const struct nla_policy nl80211_meshconf_params_policy[NL80211_MESHCONF_A
|
|
[NL80211_MESHCONF_GATE_ANNOUNCEMENTS] = { .type = NLA_U8 },
|
|
[NL80211_MESHCONF_GATE_ANNOUNCEMENTS] = { .type = NLA_U8 },
|
|
[NL80211_MESHCONF_FORWARDING] = { .type = NLA_U8 },
|
|
[NL80211_MESHCONF_FORWARDING] = { .type = NLA_U8 },
|
|
[NL80211_MESHCONF_RSSI_THRESHOLD] = { .type = NLA_U32},
|
|
[NL80211_MESHCONF_RSSI_THRESHOLD] = { .type = NLA_U32},
|
|
|
|
+ [NL80211_MESHCONF_HT_OPMODE] = { .type = NLA_U16},
|
|
};
|
|
};
|
|
|
|
|
|
static const struct nla_policy
|
|
static const struct nla_policy
|
|
@@ -3523,6 +3526,8 @@ do {\
|
|
mask, NL80211_MESHCONF_FORWARDING, nla_get_u8);
|
|
mask, NL80211_MESHCONF_FORWARDING, nla_get_u8);
|
|
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, rssi_threshold,
|
|
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, rssi_threshold,
|
|
mask, NL80211_MESHCONF_RSSI_THRESHOLD, nla_get_u32);
|
|
mask, NL80211_MESHCONF_RSSI_THRESHOLD, nla_get_u32);
|
|
|
|
+ FILL_IN_MESH_PARAM_IF_SET(tb, cfg, ht_opmode,
|
|
|
|
+ mask, NL80211_MESHCONF_HT_OPMODE, nla_get_u16);
|
|
if (mask_out)
|
|
if (mask_out)
|
|
*mask_out = mask;
|
|
*mask_out = mask;
|
|
|
|
|