aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/Kconfig1
-rw-r--r--net/mac80211/Makefile1
-rw-r--r--net/mac80211/ieee80211_i.h4
-rw-r--r--net/mac80211/iface.c1
-rw-r--r--net/mac80211/scan.c1
-rw-r--r--net/mac80211/wext.c98
-rw-r--r--net/wireless/core.c3
-rw-r--r--net/wireless/mlme.c2
-rw-r--r--net/wireless/scan.c1
-rw-r--r--net/wireless/sme.c2
-rw-r--r--net/wireless/wext-compat.c40
-rw-r--r--net/wireless/wext-compat.h5
12 files changed, 53 insertions, 106 deletions
diff --git a/net/mac80211/Kconfig b/net/mac80211/Kconfig
index 19a4c66e143e..7dd77b6d4c9a 100644
--- a/net/mac80211/Kconfig
+++ b/net/mac80211/Kconfig
@@ -6,7 +6,6 @@ config MAC80211
6 select CRYPTO_ARC4 6 select CRYPTO_ARC4
7 select CRYPTO_AES 7 select CRYPTO_AES
8 select CRC32 8 select CRC32
9 select WIRELESS_EXT
10 ---help--- 9 ---help---
11 This option enables the hardware independent IEEE 802.11 10 This option enables the hardware independent IEEE 802.11
12 networking stack. 11 networking stack.
diff --git a/net/mac80211/Makefile b/net/mac80211/Makefile
index 91284a74ff91..9f3cf7129324 100644
--- a/net/mac80211/Makefile
+++ b/net/mac80211/Makefile
@@ -3,7 +3,6 @@ obj-$(CONFIG_MAC80211) += mac80211.o
3# mac80211 objects 3# mac80211 objects
4mac80211-y := \ 4mac80211-y := \
5 main.o \ 5 main.o \
6 wext.o \
7 sta_info.o \ 6 sta_info.o \
8 wep.o \ 7 wep.o \
9 wpa.o \ 8 wpa.o \
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index c6b25cb73284..aec6853cb435 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -24,7 +24,6 @@
24#include <linux/spinlock.h> 24#include <linux/spinlock.h>
25#include <linux/etherdevice.h> 25#include <linux/etherdevice.h>
26#include <net/cfg80211.h> 26#include <net/cfg80211.h>
27#include <net/iw_handler.h>
28#include <net/mac80211.h> 27#include <net/mac80211.h>
29#include "key.h" 28#include "key.h"
30#include "sta_info.h" 29#include "sta_info.h"
@@ -951,9 +950,6 @@ void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata,
951void ieee80211_configure_filter(struct ieee80211_local *local); 950void ieee80211_configure_filter(struct ieee80211_local *local);
952u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata); 951u32 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata);
953 952
954/* wireless extensions */
955extern const struct iw_handler_def ieee80211_iw_handler_def;
956
957/* STA code */ 953/* STA code */
958void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata); 954void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata);
959int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata, 955int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata,
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index d79a21105042..6c655b6547fb 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -684,7 +684,6 @@ static void ieee80211_if_setup(struct net_device *dev)
684{ 684{
685 ether_setup(dev); 685 ether_setup(dev);
686 dev->netdev_ops = &ieee80211_dataif_ops; 686 dev->netdev_ops = &ieee80211_dataif_ops;
687 dev->wireless_handlers = &ieee80211_iw_handler_def;
688 dev->destructor = free_netdev; 687 dev->destructor = free_netdev;
689} 688}
690 689
diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
index 147772a2977c..45731000eb8d 100644
--- a/net/mac80211/scan.c
+++ b/net/mac80211/scan.c
@@ -18,7 +18,6 @@
18#include <linux/if_arp.h> 18#include <linux/if_arp.h>
19#include <linux/rtnetlink.h> 19#include <linux/rtnetlink.h>
20#include <net/mac80211.h> 20#include <net/mac80211.h>
21#include <net/iw_handler.h>
22 21
23#include "ieee80211_i.h" 22#include "ieee80211_i.h"
24#include "driver-ops.h" 23#include "driver-ops.h"
diff --git a/net/mac80211/wext.c b/net/mac80211/wext.c
deleted file mode 100644
index aa250c3e8fda..000000000000
--- a/net/mac80211/wext.c
+++ /dev/null
@@ -1,98 +0,0 @@
1/*
2 * Copyright 2002-2005, Instant802 Networks, Inc.
3 * Copyright 2005-2006, Devicescape Software, Inc.
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 */
9
10#include <linux/module.h>
11#include <linux/init.h>
12#include <linux/netdevice.h>
13#include <linux/types.h>
14#include <linux/slab.h>
15#include <linux/skbuff.h>
16#include <linux/etherdevice.h>
17#include <linux/if_arp.h>
18#include <linux/wireless.h>
19#include <net/iw_handler.h>
20#include <asm/uaccess.h>
21
22#include <net/mac80211.h>
23#include "ieee80211_i.h"
24#include "led.h"
25#include "rate.h"
26#include "wpa.h"
27#include "aes_ccm.h"
28
29
30
31/* Structures to export the Wireless Handlers */
32
33static const iw_handler ieee80211_handler[] =
34{
35 (iw_handler) NULL, /* SIOCSIWCOMMIT */
36 (iw_handler) cfg80211_wext_giwname, /* SIOCGIWNAME */
37 (iw_handler) NULL, /* SIOCSIWNWID */
38 (iw_handler) NULL, /* SIOCGIWNWID */
39 (iw_handler) cfg80211_wext_siwfreq, /* SIOCSIWFREQ */
40 (iw_handler) cfg80211_wext_giwfreq, /* SIOCGIWFREQ */
41 (iw_handler) cfg80211_wext_siwmode, /* SIOCSIWMODE */
42 (iw_handler) cfg80211_wext_giwmode, /* SIOCGIWMODE */
43 (iw_handler) NULL, /* SIOCSIWSENS */
44 (iw_handler) NULL, /* SIOCGIWSENS */
45 (iw_handler) NULL /* not used */, /* SIOCSIWRANGE */
46 (iw_handler) cfg80211_wext_giwrange, /* SIOCGIWRANGE */
47 (iw_handler) NULL /* not used */, /* SIOCSIWPRIV */
48 (iw_handler) NULL /* kernel code */, /* SIOCGIWPRIV */
49 (iw_handler) NULL /* not used */, /* SIOCSIWSTATS */
50 (iw_handler) NULL /* kernel code */, /* SIOCGIWSTATS */
51 (iw_handler) NULL, /* SIOCSIWSPY */
52 (iw_handler) NULL, /* SIOCGIWSPY */
53 (iw_handler) NULL, /* SIOCSIWTHRSPY */
54 (iw_handler) NULL, /* SIOCGIWTHRSPY */
55 (iw_handler) cfg80211_wext_siwap, /* SIOCSIWAP */
56 (iw_handler) cfg80211_wext_giwap, /* SIOCGIWAP */
57 (iw_handler) cfg80211_wext_siwmlme, /* SIOCSIWMLME */
58 (iw_handler) NULL, /* SIOCGIWAPLIST */
59 (iw_handler) cfg80211_wext_siwscan, /* SIOCSIWSCAN */
60 (iw_handler) cfg80211_wext_giwscan, /* SIOCGIWSCAN */
61 (iw_handler) cfg80211_wext_siwessid, /* SIOCSIWESSID */
62 (iw_handler) cfg80211_wext_giwessid, /* SIOCGIWESSID */
63 (iw_handler) NULL, /* SIOCSIWNICKN */
64 (iw_handler) NULL, /* SIOCGIWNICKN */
65 (iw_handler) NULL, /* -- hole -- */
66 (iw_handler) NULL, /* -- hole -- */
67 (iw_handler) cfg80211_wext_siwrate, /* SIOCSIWRATE */
68 (iw_handler) cfg80211_wext_giwrate, /* SIOCGIWRATE */
69 (iw_handler) cfg80211_wext_siwrts, /* SIOCSIWRTS */
70 (iw_handler) cfg80211_wext_giwrts, /* SIOCGIWRTS */
71 (iw_handler) cfg80211_wext_siwfrag, /* SIOCSIWFRAG */
72 (iw_handler) cfg80211_wext_giwfrag, /* SIOCGIWFRAG */
73 (iw_handler) cfg80211_wext_siwtxpower, /* SIOCSIWTXPOW */
74 (iw_handler) cfg80211_wext_giwtxpower, /* SIOCGIWTXPOW */
75 (iw_handler) cfg80211_wext_siwretry, /* SIOCSIWRETRY */
76 (iw_handler) cfg80211_wext_giwretry, /* SIOCGIWRETRY */
77 (iw_handler) cfg80211_wext_siwencode, /* SIOCSIWENCODE */
78 (iw_handler) cfg80211_wext_giwencode, /* SIOCGIWENCODE */
79 (iw_handler) cfg80211_wext_siwpower, /* SIOCSIWPOWER */
80 (iw_handler) cfg80211_wext_giwpower, /* SIOCGIWPOWER */
81 (iw_handler) NULL, /* -- hole -- */
82 (iw_handler) NULL, /* -- hole -- */
83 (iw_handler) cfg80211_wext_siwgenie, /* SIOCSIWGENIE */
84 (iw_handler) NULL, /* SIOCGIWGENIE */
85 (iw_handler) cfg80211_wext_siwauth, /* SIOCSIWAUTH */
86 (iw_handler) cfg80211_wext_giwauth, /* SIOCGIWAUTH */
87 (iw_handler) cfg80211_wext_siwencodeext, /* SIOCSIWENCODEEXT */
88 (iw_handler) NULL, /* SIOCGIWENCODEEXT */
89 (iw_handler) NULL, /* SIOCSIWPMKSA */
90 (iw_handler) NULL, /* -- hole -- */
91};
92
93const struct iw_handler_def ieee80211_iw_handler_def =
94{
95 .num_standard = ARRAY_SIZE(ieee80211_handler),
96 .standard = (iw_handler *) ieee80211_handler,
97 .get_wireless_stats = cfg80211_wireless_stats,
98};
diff --git a/net/wireless/core.c b/net/wireless/core.c
index 442c9f389799..f9fee65dc06a 100644
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
@@ -19,6 +19,7 @@
19#include "core.h" 19#include "core.h"
20#include "sysfs.h" 20#include "sysfs.h"
21#include "debugfs.h" 21#include "debugfs.h"
22#include "wext-compat.h"
22 23
23/* name for sysfs, %d is appended */ 24/* name for sysfs, %d is appended */
24#define PHY_NAME "phy" 25#define PHY_NAME "phy"
@@ -665,6 +666,8 @@ static int cfg80211_netdev_notifier_call(struct notifier_block * nb,
665 wdev->sme_state = CFG80211_SME_IDLE; 666 wdev->sme_state = CFG80211_SME_IDLE;
666 mutex_unlock(&rdev->devlist_mtx); 667 mutex_unlock(&rdev->devlist_mtx);
667#ifdef CONFIG_WIRELESS_EXT 668#ifdef CONFIG_WIRELESS_EXT
669 if (!dev->wireless_handlers)
670 dev->wireless_handlers = &cfg80211_wext_handler;
668 wdev->wext.default_key = -1; 671 wdev->wext.default_key = -1;
669 wdev->wext.default_mgmt_key = -1; 672 wdev->wext.default_mgmt_key = -1;
670 wdev->wext.connect.auth_type = NL80211_AUTHTYPE_AUTOMATIC; 673 wdev->wext.connect.auth_type = NL80211_AUTHTYPE_AUTOMATIC;
diff --git a/net/wireless/mlme.c b/net/wireless/mlme.c
index 30058a80d7af..097a87d7bae1 100644
--- a/net/wireless/mlme.c
+++ b/net/wireless/mlme.c
@@ -8,7 +8,9 @@
8#include <linux/module.h> 8#include <linux/module.h>
9#include <linux/netdevice.h> 9#include <linux/netdevice.h>
10#include <linux/nl80211.h> 10#include <linux/nl80211.h>
11#include <linux/wireless.h>
11#include <net/cfg80211.h> 12#include <net/cfg80211.h>
13#include <net/iw_handler.h>
12#include "core.h" 14#include "core.h"
13#include "nl80211.h" 15#include "nl80211.h"
14 16
diff --git a/net/wireless/scan.c b/net/wireless/scan.c
index 2a2683f6c04a..67714d7ed5b4 100644
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
@@ -14,6 +14,7 @@
14#include <net/iw_handler.h> 14#include <net/iw_handler.h>
15#include "core.h" 15#include "core.h"
16#include "nl80211.h" 16#include "nl80211.h"
17#include "wext-compat.h"
17 18
18#define IEEE80211_SCAN_RESULT_EXPIRE (15 * HZ) 19#define IEEE80211_SCAN_RESULT_EXPIRE (15 * HZ)
19 20
diff --git a/net/wireless/sme.c b/net/wireless/sme.c
index a19741097989..d2b5d4ce0a00 100644
--- a/net/wireless/sme.c
+++ b/net/wireless/sme.c
@@ -8,6 +8,8 @@
8#include <linux/etherdevice.h> 8#include <linux/etherdevice.h>
9#include <linux/if_arp.h> 9#include <linux/if_arp.h>
10#include <linux/workqueue.h> 10#include <linux/workqueue.h>
11#include <linux/wireless.h>
12#include <net/iw_handler.h>
11#include <net/cfg80211.h> 13#include <net/cfg80211.h>
12#include <net/rtnetlink.h> 14#include <net/rtnetlink.h>
13#include "nl80211.h" 15#include "nl80211.h"
diff --git a/net/wireless/wext-compat.c b/net/wireless/wext-compat.c
index 083e4c33d95d..e4e90e249bab 100644
--- a/net/wireless/wext-compat.c
+++ b/net/wireless/wext-compat.c
@@ -1397,3 +1397,43 @@ int cfg80211_wext_giwessid(struct net_device *dev,
1397 } 1397 }
1398} 1398}
1399EXPORT_SYMBOL_GPL(cfg80211_wext_giwessid); 1399EXPORT_SYMBOL_GPL(cfg80211_wext_giwessid);
1400
1401static const iw_handler cfg80211_handlers[] = {
1402 [IW_IOCTL_IDX(SIOCGIWNAME)] = (iw_handler) cfg80211_wext_giwname,
1403 [IW_IOCTL_IDX(SIOCSIWFREQ)] = (iw_handler) cfg80211_wext_siwfreq,
1404 [IW_IOCTL_IDX(SIOCGIWFREQ)] = (iw_handler) cfg80211_wext_giwfreq,
1405 [IW_IOCTL_IDX(SIOCSIWMODE)] = (iw_handler) cfg80211_wext_siwmode,
1406 [IW_IOCTL_IDX(SIOCGIWMODE)] = (iw_handler) cfg80211_wext_giwmode,
1407 [IW_IOCTL_IDX(SIOCGIWRANGE)] = (iw_handler) cfg80211_wext_giwrange,
1408 [IW_IOCTL_IDX(SIOCSIWAP)] = (iw_handler) cfg80211_wext_siwap,
1409 [IW_IOCTL_IDX(SIOCGIWAP)] = (iw_handler) cfg80211_wext_giwap,
1410 [IW_IOCTL_IDX(SIOCSIWMLME)] = (iw_handler) cfg80211_wext_siwmlme,
1411 [IW_IOCTL_IDX(SIOCSIWSCAN)] = (iw_handler) cfg80211_wext_siwscan,
1412 [IW_IOCTL_IDX(SIOCGIWSCAN)] = (iw_handler) cfg80211_wext_giwscan,
1413 [IW_IOCTL_IDX(SIOCSIWESSID)] = (iw_handler) cfg80211_wext_siwessid,
1414 [IW_IOCTL_IDX(SIOCGIWESSID)] = (iw_handler) cfg80211_wext_giwessid,
1415 [IW_IOCTL_IDX(SIOCSIWRATE)] = (iw_handler) cfg80211_wext_siwrate,
1416 [IW_IOCTL_IDX(SIOCGIWRATE)] = (iw_handler) cfg80211_wext_giwrate,
1417 [IW_IOCTL_IDX(SIOCSIWRTS)] = (iw_handler) cfg80211_wext_siwrts,
1418 [IW_IOCTL_IDX(SIOCGIWRTS)] = (iw_handler) cfg80211_wext_giwrts,
1419 [IW_IOCTL_IDX(SIOCSIWFRAG)] = (iw_handler) cfg80211_wext_siwfrag,
1420 [IW_IOCTL_IDX(SIOCGIWFRAG)] = (iw_handler) cfg80211_wext_giwfrag,
1421 [IW_IOCTL_IDX(SIOCSIWTXPOW)] = (iw_handler) cfg80211_wext_siwtxpower,
1422 [IW_IOCTL_IDX(SIOCGIWTXPOW)] = (iw_handler) cfg80211_wext_giwtxpower,
1423 [IW_IOCTL_IDX(SIOCSIWRETRY)] = (iw_handler) cfg80211_wext_siwretry,
1424 [IW_IOCTL_IDX(SIOCGIWRETRY)] = (iw_handler) cfg80211_wext_giwretry,
1425 [IW_IOCTL_IDX(SIOCSIWENCODE)] = (iw_handler) cfg80211_wext_siwencode,
1426 [IW_IOCTL_IDX(SIOCGIWENCODE)] = (iw_handler) cfg80211_wext_giwencode,
1427 [IW_IOCTL_IDX(SIOCSIWPOWER)] = (iw_handler) cfg80211_wext_siwpower,
1428 [IW_IOCTL_IDX(SIOCGIWPOWER)] = (iw_handler) cfg80211_wext_giwpower,
1429 [IW_IOCTL_IDX(SIOCSIWGENIE)] = (iw_handler) cfg80211_wext_siwgenie,
1430 [IW_IOCTL_IDX(SIOCSIWAUTH)] = (iw_handler) cfg80211_wext_siwauth,
1431 [IW_IOCTL_IDX(SIOCGIWAUTH)] = (iw_handler) cfg80211_wext_giwauth,
1432 [IW_IOCTL_IDX(SIOCSIWENCODEEXT)]= (iw_handler) cfg80211_wext_siwencodeext,
1433};
1434
1435const struct iw_handler_def cfg80211_wext_handler = {
1436 .num_standard = ARRAY_SIZE(cfg80211_handlers),
1437 .standard = cfg80211_handlers,
1438 .get_wireless_stats = cfg80211_wireless_stats,
1439};
diff --git a/net/wireless/wext-compat.h b/net/wireless/wext-compat.h
index c0310d93c2e5..9a3774749589 100644
--- a/net/wireless/wext-compat.h
+++ b/net/wireless/wext-compat.h
@@ -1,6 +1,9 @@
1#ifndef __WEXT_COMPAT 1#ifndef __WEXT_COMPAT
2#define __WEXT_COMPAT 2#define __WEXT_COMPAT
3 3
4#include <net/iw_handler.h>
5#include <linux/wireless.h>
6
4int cfg80211_ibss_wext_siwfreq(struct net_device *dev, 7int cfg80211_ibss_wext_siwfreq(struct net_device *dev,
5 struct iw_request_info *info, 8 struct iw_request_info *info,
6 struct iw_freq *freq, char *extra); 9 struct iw_freq *freq, char *extra);
@@ -42,4 +45,6 @@ int cfg80211_mgd_wext_giwessid(struct net_device *dev,
42struct ieee80211_channel *cfg80211_wext_freq(struct wiphy *wiphy, 45struct ieee80211_channel *cfg80211_wext_freq(struct wiphy *wiphy,
43 struct iw_freq *freq); 46 struct iw_freq *freq);
44 47
48
49extern const struct iw_handler_def cfg80211_wext_handler;
45#endif /* __WEXT_COMPAT */ 50#endif /* __WEXT_COMPAT */