diff options
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r-- | net/wireless/nl80211.c | 47 |
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 | ||
2358 | static 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(¶ms, 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, ¶ms); | ||
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 | |||
2398 | static int nl80211_trigger_scan(struct sk_buff *skb, struct genl_info *info) | 2357 | static 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, |