aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless/nl80211.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r--net/wireless/nl80211.c47
1 files changed, 0 insertions, 47 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 9e1318d1d4bb..44c79972be57 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -269,7 +269,6 @@ static int nl80211_send_wiphy(struct sk_buff *msg, u32 pid, u32 seq, int flags,
269 CMD(add_mpath, NEW_MPATH); 269 CMD(add_mpath, NEW_MPATH);
270 CMD(set_mesh_params, SET_MESH_PARAMS); 270 CMD(set_mesh_params, SET_MESH_PARAMS);
271 CMD(change_bss, SET_BSS); 271 CMD(change_bss, SET_BSS);
272 CMD(set_mgmt_extra_ie, SET_MGMT_EXTRA_IE);
273 CMD(auth, AUTHENTICATE); 272 CMD(auth, AUTHENTICATE);
274 CMD(assoc, ASSOCIATE); 273 CMD(assoc, ASSOCIATE);
275 CMD(deauth, DEAUTHENTICATE); 274 CMD(deauth, DEAUTHENTICATE);
@@ -2355,46 +2354,6 @@ static int nl80211_set_reg(struct sk_buff *skb, struct genl_info *info)
2355 return -EINVAL; 2354 return -EINVAL;
2356} 2355}
2357 2356
2358static int nl80211_set_mgmt_extra_ie(struct sk_buff *skb,
2359 struct genl_info *info)
2360{
2361 struct cfg80211_registered_device *drv;
2362 int err;
2363 struct net_device *dev;
2364 struct mgmt_extra_ie_params params;
2365
2366 memset(&params, 0, sizeof(params));
2367
2368 if (!info->attrs[NL80211_ATTR_MGMT_SUBTYPE])
2369 return -EINVAL;
2370 params.subtype = nla_get_u8(info->attrs[NL80211_ATTR_MGMT_SUBTYPE]);
2371 if (params.subtype > 15)
2372 return -EINVAL; /* FC Subtype field is 4 bits (0..15) */
2373
2374 if (info->attrs[NL80211_ATTR_IE]) {
2375 params.ies = nla_data(info->attrs[NL80211_ATTR_IE]);
2376 params.ies_len = nla_len(info->attrs[NL80211_ATTR_IE]);
2377 }
2378
2379 rtnl_lock();
2380
2381 err = get_drv_dev_by_info_ifindex(info->attrs, &drv, &dev);
2382 if (err)
2383 goto out_rtnl;
2384
2385 if (drv->ops->set_mgmt_extra_ie)
2386 err = drv->ops->set_mgmt_extra_ie(&drv->wiphy, dev, &params);
2387 else
2388 err = -EOPNOTSUPP;
2389
2390 cfg80211_put_dev(drv);
2391 dev_put(dev);
2392 out_rtnl:
2393 rtnl_unlock();
2394
2395 return err;
2396}
2397
2398static int nl80211_trigger_scan(struct sk_buff *skb, struct genl_info *info) 2357static int nl80211_trigger_scan(struct sk_buff *skb, struct genl_info *info)
2399{ 2358{
2400 struct cfg80211_registered_device *drv; 2359 struct cfg80211_registered_device *drv;
@@ -3044,12 +3003,6 @@ static struct genl_ops nl80211_ops[] = {
3044 .flags = GENL_ADMIN_PERM, 3003 .flags = GENL_ADMIN_PERM,
3045 }, 3004 },
3046 { 3005 {
3047 .cmd = NL80211_CMD_SET_MGMT_EXTRA_IE,
3048 .doit = nl80211_set_mgmt_extra_ie,
3049 .policy = nl80211_policy,
3050 .flags = GENL_ADMIN_PERM,
3051 },
3052 {
3053 .cmd = NL80211_CMD_TRIGGER_SCAN, 3006 .cmd = NL80211_CMD_TRIGGER_SCAN,
3054 .doit = nl80211_trigger_scan, 3007 .doit = nl80211_trigger_scan,
3055 .policy = nl80211_policy, 3008 .policy = nl80211_policy,