diff options
Diffstat (limited to 'drivers/staging/rtl8192e/ieee80211/ieee80211_module.c')
-rw-r--r-- | drivers/staging/rtl8192e/ieee80211/ieee80211_module.c | 139 |
1 files changed, 36 insertions, 103 deletions
diff --git a/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c b/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c index 614a8b630e67..08bfdb1a4c6e 100644 --- a/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c +++ b/drivers/staging/rtl8192e/ieee80211/ieee80211_module.c @@ -31,7 +31,6 @@ *******************************************************************************/ #include <linux/compiler.h> -//#include <linux/config.h> #include <linux/errno.h> #include <linux/if_arp.h> #include <linux/in6.h> @@ -70,7 +69,7 @@ static inline int ieee80211_networks_allocate(struct ieee80211_device *ieee) GFP_KERNEL); if (!ieee->networks) { printk(KERN_WARNING "%s: Out of memory allocating beacons\n", - ieee->dev->name); + ieee->dev->name); return -ENOMEM; } @@ -100,7 +99,7 @@ struct net_device *alloc_ieee80211(int sizeof_priv) { struct ieee80211_device *ieee; struct net_device *dev; - int i,err; + int i, err; IEEE80211_DEBUG_INFO("Initializing...\n"); @@ -110,16 +109,9 @@ struct net_device *alloc_ieee80211(int sizeof_priv) goto failed; } -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)) ieee = netdev_priv(dev); -#else - ieee = (struct ieee80211_device *)dev->priv; -#endif -#if 0 - dev->hard_start_xmit = ieee80211_rtl_xmit; -#endif - memset(ieee, 0, sizeof(struct ieee80211_device)+sizeof_priv); + memset(ieee, 0, sizeof(struct ieee80211_device) + sizeof_priv); ieee->dev = dev; err = ieee80211_networks_allocate(ieee); @@ -150,7 +142,8 @@ struct net_device *alloc_ieee80211(int sizeof_priv) spin_lock_init(&ieee->wpax_suitlist_lock); spin_lock_init(&ieee->bw_spinlock); spin_lock_init(&ieee->reorder_spinlock); - //added by WB + + /* added by WB */ atomic_set(&(ieee->atm_chnlop), 0); atomic_set(&(ieee->atm_swbw), 0); @@ -161,76 +154,52 @@ struct net_device *alloc_ieee80211(int sizeof_priv) ieee->privacy_invoked = 0; ieee->ieee802_1x = 1; ieee->raw_tx = 0; - //ieee->hwsec_support = 1; //default support hw security. //use module_param instead. - ieee->hwsec_active = 0; //disable hwsec, switch it on when necessary. + /* ieee->hwsec_support = 1; default support hw security: use module_param instead */ + ieee->hwsec_active = 0; /* disable hwsec, switch it on when necessary */ ieee80211_softmac_init(ieee); -#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,13)) ieee->pHTInfo = kzalloc(sizeof(RT_HIGH_THROUGHPUT), GFP_KERNEL); -#else - ieee->pHTInfo = (RT_HIGH_THROUGHPUT*)kmalloc(sizeof(RT_HIGH_THROUGHPUT), GFP_KERNEL); - memset(ieee->pHTInfo,0,sizeof(RT_HIGH_THROUGHPUT)); -#endif if (ieee->pHTInfo == NULL) { IEEE80211_DEBUG(IEEE80211_DL_ERR, "can't alloc memory for HTInfo\n"); return NULL; } HTUpdateDefaultSetting(ieee); - HTInitializeHTInfo(ieee); //may move to other place. + HTInitializeHTInfo(ieee); /* may move to other place */ TSInitialize(ieee); -#if 0 -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)) - INIT_WORK(&ieee->ht_onAssRsp, (void(*)(void*)) HTOnAssocRsp_wq); -#else - INIT_WORK(&ieee->ht_onAssRsp, (void(*)(void*)) HTOnAssocRsp_wq, ieee); -#endif -#endif for (i = 0; i < IEEE_IBSS_MAC_HASH_SIZE; i++) INIT_LIST_HEAD(&ieee->ibss_mac_hash[i]); for (i = 0; i < 17; i++) { - ieee->last_rxseq_num[i] = -1; - ieee->last_rxfrag_num[i] = -1; - ieee->last_packet_time[i] = 0; + ieee->last_rxseq_num[i] = -1; + ieee->last_rxfrag_num[i] = -1; + ieee->last_packet_time[i] = 0; } -//These function were added to load crypte module autoly + /* Functions to load crypt module automatically */ ieee80211_tkip_null(); ieee80211_wep_null(); ieee80211_ccmp_null(); return dev; - failed: +failed: if (dev) -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)) free_netdev(dev); -#else - kfree(dev); -#endif return NULL; } void free_ieee80211(struct net_device *dev) { -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)) struct ieee80211_device *ieee = netdev_priv(dev); -#else - struct ieee80211_device *ieee = (struct ieee80211_device *)dev->priv; -#endif int i; - //struct list_head *p, *q; -// del_timer_sync(&ieee->SwBwTimer); -#if 1 if (ieee->pHTInfo != NULL) { kfree(ieee->pHTInfo); ieee->pHTInfo = NULL; } -#endif RemoveAllTS(ieee); ieee80211_softmac_free(ieee); del_timer_sync(&ieee->crypt_deinit_timer); @@ -247,55 +216,42 @@ void free_ieee80211(struct net_device *dev) } ieee80211_networks_free(ieee); -#if 0 - for (i = 0; i < IEEE_IBSS_MAC_HASH_SIZE; i++) { - list_for_each_safe(p, q, &ieee->ibss_mac_hash[i]) { - kfree(list_entry(p, struct ieee_ibss_seq, list)); - list_del(p); - } - } - -#endif -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)) free_netdev(dev); -#else - kfree(dev); -#endif } #ifdef CONFIG_IEEE80211_DEBUG u32 ieee80211_debug_level = 0; static int debug = \ - // IEEE80211_DL_INFO | - // IEEE80211_DL_WX | - // IEEE80211_DL_SCAN | - // IEEE80211_DL_STATE | - // IEEE80211_DL_MGMT | - // IEEE80211_DL_FRAG | - // IEEE80211_DL_EAP | - // IEEE80211_DL_DROP | - // IEEE80211_DL_TX | - // IEEE80211_DL_RX | - //IEEE80211_DL_QOS | - // IEEE80211_DL_HT | - // IEEE80211_DL_TS | -// IEEE80211_DL_BA | - // IEEE80211_DL_REORDER| -// IEEE80211_DL_TRACE | - //IEEE80211_DL_DATA | - IEEE80211_DL_ERR //awayls open this flags to show error out - ; + /* IEEE80211_DL_INFO | */ + /* IEEE80211_DL_WX | */ + /* IEEE80211_DL_SCAN | */ + /* IEEE80211_DL_STATE | */ + /* IEEE80211_DL_MGMT | */ + /* IEEE80211_DL_FRAG | */ + /* IEEE80211_DL_EAP | */ + /* IEEE80211_DL_DROP | */ + /* IEEE80211_DL_TX | */ + /* IEEE80211_DL_RX | */ + /* IEEE80211_DL_QOS | */ + /* IEEE80211_DL_HT | */ + /* IEEE80211_DL_TS | */ + /* IEEE80211_DL_BA | */ + /* IEEE80211_DL_REORDER | */ + /* IEEE80211_DL_TRACE | */ + /* IEEE80211_DL_DATA | */ + IEEE80211_DL_ERR /* always open this flag to show error out */ + ; struct proc_dir_entry *ieee80211_proc = NULL; static int show_debug_level(char *page, char **start, off_t offset, - int count, int *eof, void *data) + int count, int *eof, void *data) { return snprintf(page, count, "0x%08X\n", ieee80211_debug_level); } static int store_debug_level(struct file *file, const char *buffer, - unsigned long count, void *data) + unsigned long count, void *data) { char buf[] = "0x00000000"; unsigned long len = min(sizeof(buf) - 1, (u32)count); @@ -314,7 +270,7 @@ static int store_debug_level(struct file *file, const char *buffer, val = simple_strtoul(p, &p, 10); if (p == buf) printk(KERN_INFO DRV_NAME - ": %s is not in hex or decimal form.\n", buf); + ": %s is not in hex or decimal form.\n", buf); else ieee80211_debug_level = val; @@ -358,24 +314,16 @@ int __init ieee80211_rtl_init(void) } ieee80211_debug_level = debug; -#if(LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) - ieee80211_proc = create_proc_entry(DRV_NAME, S_IFDIR, proc_net); -#else ieee80211_proc = create_proc_entry(DRV_NAME, S_IFDIR, init_net.proc_net); -#endif if (ieee80211_proc == NULL) { IEEE80211_ERROR("Unable to create " DRV_NAME " proc directory\n"); return -EIO; } e = create_proc_entry("debug_level", S_IFREG | S_IRUGO | S_IWUSR, - ieee80211_proc); + ieee80211_proc); if (!e) { -#if(LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) - remove_proc_entry(DRV_NAME, proc_net); -#else remove_proc_entry(DRV_NAME, init_net.proc_net); -#endif ieee80211_proc = NULL; return -EIO; } @@ -390,11 +338,7 @@ void __exit ieee80211_rtl_exit(void) { if (ieee80211_proc) { remove_proc_entry("debug_level", ieee80211_proc); -#if(LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) - remove_proc_entry(DRV_NAME, proc_net); -#else remove_proc_entry(DRV_NAME, init_net.proc_net); -#endif ieee80211_proc = NULL; } ieee80211_crypto_wep_exit(); @@ -403,21 +347,10 @@ void __exit ieee80211_rtl_exit(void) ieee80211_crypto_deinit(); } -#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)) #include <linux/moduleparam.h> module_param(debug, int, 0444); MODULE_PARM_DESC(debug, "debug output mask"); -//module_exit(ieee80211_rtl_exit); -//module_init(ieee80211_rtl_init); -#endif #endif -#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)) -//EXPORT_SYMBOL(alloc_ieee80211); -//EXPORT_SYMBOL(free_ieee80211); -#else -EXPORT_SYMBOL_NOVERS(alloc_ieee80211); -EXPORT_SYMBOL_NOVERS(free_ieee80211); -#endif |