33 #include <linux/compiler.h>
35 #include <linux/errno.h>
36 #include <linux/if_arp.h>
37 #include <linux/in6.h>
40 #include <linux/kernel.h>
41 #include <linux/module.h>
42 #include <linux/netdevice.h>
43 #include <linux/pci.h>
46 #include <linux/slab.h>
47 #include <linux/tcp.h>
48 #include <linux/types.h>
49 #include <linux/wireless.h>
51 #include <asm/uaccess.h>
60 #define DRV_NAME "ieee80211"
87 static inline void ieee80211_networks_initialize(
struct ieee80211_device *ieee)
112 ieee = netdev_priv(dev);
116 err = ieee80211_networks_allocate(ieee);
122 ieee80211_networks_initialize(ieee);
173 for (i = 0; i < 17; i++) {
211 crypt->
ops->deinit(crypt->
priv);
217 ieee80211_networks_free(ieee);
221 #ifdef CONFIG_IEEE80211_DEBUG
249 return snprintf(page, count,
"0x%08X\n", ieee80211_debug_level);
252 static int store_debug_level(
struct file *
file,
const char *
buffer,
255 char buf[] =
"0x00000000";
256 unsigned long len =
min_t(
unsigned long,
sizeof(buf) - 1, count);
257 char *
p = (
char *)buf;
263 if (p[1] ==
'x' || p[1] ==
'X' || p[0] ==
'x' || p[0] ==
'X') {
265 if (p[0] ==
'x' || p[0] ==
'X')
272 ": %s is not in hex or decimal form.\n", buf);
274 ieee80211_debug_level =
val;
283 ieee80211_debug_level =
debug;
286 if (ieee80211_proc ==
NULL) {
288 " proc directory\n");
295 ieee80211_proc =
NULL;
307 if (ieee80211_proc) {
310 ieee80211_proc =
NULL;