diff options
author | Jouni Malinen <jouni.malinen@atheros.com> | 2009-03-20 15:21:16 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-03-27 20:13:04 -0400 |
commit | 65fc73ac4a310945dfeceac961726c2765ad2ec0 (patch) | |
tree | 5c1410524f3a82b653d6a08753fbe5bdd9a984fa /net/wireless | |
parent | feeb44454996cf5b375fad21697bf6202fe30dd2 (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.c | 47 |
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 | ||
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, |