|
|
@ -982,6 +982,7 @@ static int new_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { |
|
|
|
return ret; |
|
|
|
return ret; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef DEBUG |
|
|
|
static struct timer_list rng_timer; |
|
|
|
static struct timer_list rng_timer; |
|
|
|
|
|
|
|
|
|
|
|
static void rng_timer_tick(unsigned long n) |
|
|
|
static void rng_timer_tick(unsigned long n) |
|
|
@ -999,7 +1000,7 @@ static void rng_timer_tick(unsigned long n) |
|
|
|
|
|
|
|
|
|
|
|
mod_timer(&rng_timer, jiffies + (HZ/RNG_POLL_FREQ)); |
|
|
|
mod_timer(&rng_timer, jiffies + (HZ/RNG_POLL_FREQ)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
static int __init wlcompat_init() |
|
|
|
static int __init wlcompat_init() |
|
|
|
{ |
|
|
|
{ |
|
|
@ -1024,12 +1025,14 @@ static int __init wlcompat_init() |
|
|
|
dev->wireless_handlers = (struct iw_handler_def *)&wlcompat_handler_def; |
|
|
|
dev->wireless_handlers = (struct iw_handler_def *)&wlcompat_handler_def; |
|
|
|
dev->get_wireless_stats = wlcompat_get_wireless_stats; |
|
|
|
dev->get_wireless_stats = wlcompat_get_wireless_stats; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef DEBUG |
|
|
|
if (random) { |
|
|
|
if (random) { |
|
|
|
init_timer(&rng_timer); |
|
|
|
init_timer(&rng_timer); |
|
|
|
rng_timer.function = rng_timer_tick; |
|
|
|
rng_timer.function = rng_timer_tick; |
|
|
|
rng_timer.data = (unsigned long) dev; |
|
|
|
rng_timer.data = (unsigned long) dev; |
|
|
|
rng_timer_tick((unsigned long) dev); |
|
|
|
rng_timer_tick((unsigned long) dev); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#ifdef DEBUG |
|
|
|
#ifdef DEBUG |
|
|
|
printk("broadcom driver private data: 0x%08x\n", dev->priv); |
|
|
|
printk("broadcom driver private data: 0x%08x\n", dev->priv); |
|
|
@ -1039,8 +1042,10 @@ static int __init wlcompat_init() |
|
|
|
|
|
|
|
|
|
|
|
static void __exit wlcompat_exit() |
|
|
|
static void __exit wlcompat_exit() |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
#ifndef DEBUG |
|
|
|
if (random) |
|
|
|
if (random) |
|
|
|
del_timer(&rng_timer); |
|
|
|
del_timer(&rng_timer); |
|
|
|
|
|
|
|
#endif |
|
|
|
dev->get_wireless_stats = NULL; |
|
|
|
dev->get_wireless_stats = NULL; |
|
|
|
dev->wireless_handlers = NULL; |
|
|
|
dev->wireless_handlers = NULL; |
|
|
|
dev->do_ioctl = old_ioctl; |
|
|
|
dev->do_ioctl = old_ioctl; |
|
|
@ -1051,6 +1056,8 @@ EXPORT_NO_SYMBOLS; |
|
|
|
MODULE_AUTHOR("openwrt.org"); |
|
|
|
MODULE_AUTHOR("openwrt.org"); |
|
|
|
MODULE_LICENSE("GPL"); |
|
|
|
MODULE_LICENSE("GPL"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef DEBUG |
|
|
|
module_param(random, int, 0); |
|
|
|
module_param(random, int, 0); |
|
|
|
|
|
|
|
#endif |
|
|
|
module_init(wlcompat_init); |
|
|
|
module_init(wlcompat_init); |
|
|
|
module_exit(wlcompat_exit); |
|
|
|
module_exit(wlcompat_exit); |
|
|
|