aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless
diff options
context:
space:
mode:
authorJouni Malinen <jouni.malinen@atheros.com>2009-03-20 15:21:16 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-03-27 20:13:04 -0400
commit65fc73ac4a310945dfeceac961726c2765ad2ec0 (patch)
tree5c1410524f3a82b653d6a08753fbe5bdd9a984fa /net/wireless
parentfeeb44454996cf5b375fad21697bf6202fe30dd2 (diff)
nl80211: Remove NL80211_CMD_SET_MGMT_EXTRA_IE
The functionality that NL80211_CMD_SET_MGMT_EXTRA_IE provided can now be achieved with cleaner design by adding IE(s) into NL80211_CMD_TRIGGER_SCAN, NL80211_CMD_AUTHENTICATE, NL80211_CMD_ASSOCIATE, NL80211_CMD_DEAUTHENTICATE, and NL80211_CMD_DISASSOCIATE. Since this is a very recently added command and there are no known (or known planned) applications using NL80211_CMD_SET_MGMT_EXTRA_IE and taken into account how much extra complexity it adds to the IE processing we have now (and need to add in the future to fix IE order in couple of frames), it looks like the best option is to just remove the implementation of this command for now. The enum values themselves are left to avoid changing the nl80211 command or attribute numbers. Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless')
-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 9e1318d1d4b..44c79972be5 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,