]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/staging/rtl8192e/r8192E_core.c
Merge branch 'master' into tk71
[mv-sheeva.git] / drivers / staging / rtl8192e / r8192E_core.c
index 17a806f9ee7762de84a2588d2c2b3de7b3f9fe68..fac4eee28e4e9ae9efb9492c2d9b1e428a639dc3 100644 (file)
@@ -25,7 +25,6 @@
  */
 
 
-#undef LOOP_TEST
 #undef RX_DONT_PASS_UL
 #undef DEBUG_EPROM
 #undef DEBUG_RX_VERBOSE
@@ -58,9 +57,6 @@
 #include "r819xE_phyreg.h"
 #include "r819xE_cmdpkt.h"
 #include "r8192E_dm.h"
-//#include "r8192xU_phyreg.h"
-//#include <linux/usb.h>
-// FIXME: check if 2.6.7 is ok
 
 #ifdef CONFIG_PM
 #include "r8192_pm.h"
@@ -71,7 +67,7 @@
 #endif
 
 //set here to open your trace code. //WB
-u32 rt_global_debug_component = \
+u32 rt_global_debug_component =
                //              COMP_INIT       |
                        //      COMP_EPROM      |
                //              COMP_PHY        |
@@ -93,7 +89,7 @@ u32 rt_global_debug_component = \
                         //     COMP_INTR       |
                                COMP_ERR ; //always open err flags on
 
-static const struct pci_device_id rtl8192_pci_id_tbl[] __devinitdata = {
+static DEFINE_PCI_DEVICE_TABLE(rtl8192_pci_id_tbl) = {
 #ifdef RTL8190P
        /* Realtek */
        /* Dlink */
@@ -124,12 +120,10 @@ MODULE_DESCRIPTION("Linux driver for Realtek RTL819x WiFi cards");
 
 
 module_param_string(ifname, ifname, sizeof(ifname), S_IRUGO|S_IWUSR);
-//module_param(hwseqnum,int, S_IRUGO|S_IWUSR);
 module_param(hwwep,int, S_IRUGO|S_IWUSR);
 module_param(channels,int, S_IRUGO|S_IWUSR);
 
 MODULE_PARM_DESC(ifname," Net interface name, wlan%d=default");
-//MODULE_PARM_DESC(hwseqnum," Try to use hardware 802.11 header sequence numbers. Zero=default");
 MODULE_PARM_DESC(hwwep," Try to use hardware WEP support. Still broken and not available on all cards");
 MODULE_PARM_DESC(channels," Channel bitmask for specific locales. NYI");
 
@@ -147,7 +141,7 @@ static struct pci_driver rtl8192_pci_driver = {
        .resume         = rtl8192E_resume,                 /* PM resume fn  */
 #else
        .suspend        = NULL,                           /* PM suspend fn */
-       .resume         = NULL,                           /* PM resume fn  */
+       .resume         = NULL,                           /* PM resume fn  */
 #endif
 };
 
@@ -160,6 +154,11 @@ static void rtl8192_prepare_beacon(struct r8192_priv *priv);
 static irqreturn_t rtl8192_interrupt(int irq, void *netdev);
 static void rtl8192_try_wake_queue(struct net_device *dev, int pri);
 static void rtl819xE_tx_cmd(struct net_device *dev, struct sk_buff *skb);
+static void rtl8192_update_ratr_table(struct net_device* dev);
+static void rtl8192_restart(struct work_struct *work);
+static void watch_dog_timer_callback(unsigned long data);
+static int _rtl8192_up(struct net_device *dev);
+static void rtl8192_cancel_deferred_work(struct r8192_priv* priv);
 
 #ifdef ENABLE_DOT11D
 
@@ -238,34 +237,18 @@ static void rtl819x_set_channel_map(u8 channel_plan, struct r8192_priv* priv)
 }
 #endif
 
-
-#define eqMacAddr(a,b) ( ((a)[0]==(b)[0] && (a)[1]==(b)[1] && (a)[2]==(b)[2] && (a)[3]==(b)[3] && (a)[4]==(b)[4] && (a)[5]==(b)[5]) ? 1:0 )
-/* 2007/07/25 MH Defien temp tx fw info. */
-static TX_FWINFO_T Tmp_TxFwInfo;
-
-
-#define        rx_hal_is_cck_rate(_pdrvinfo)\
-                       (_pdrvinfo->RxRate == DESC90_RATE1M ||\
-                       _pdrvinfo->RxRate == DESC90_RATE2M ||\
-                       _pdrvinfo->RxRate == DESC90_RATE5_5M ||\
-                       _pdrvinfo->RxRate == DESC90_RATE11M) &&\
-                       !_pdrvinfo->RxHT\
-
+static inline bool rx_hal_is_cck_rate(prx_fwinfo_819x_pci pdrvinfo)
+{
+       return (pdrvinfo->RxRate == DESC90_RATE1M ||
+               pdrvinfo->RxRate == DESC90_RATE2M ||
+               pdrvinfo->RxRate == DESC90_RATE5_5M ||
+               pdrvinfo->RxRate == DESC90_RATE11M) &&
+               !pdrvinfo->RxHT;
+}
 
 void CamResetAllEntry(struct net_device *dev)
 {
-       //u8 ucIndex;
-       u32 ulcommand = 0;
-
-#if 1
-       ulcommand |= BIT31|BIT30;
-       write_nic_dword(dev, RWCAM, ulcommand);
-#else
-        for(ucIndex=0;ucIndex<TOTAL_CAM_ENTRY;ucIndex++)
-                CAM_mark_invalid(dev, ucIndex);
-        for(ucIndex=0;ucIndex<TOTAL_CAM_ENTRY;ucIndex++)
-                CAM_empty_entry(dev, ucIndex);
-#endif
+       write_nic_dword(dev, RWCAM, BIT31|BIT30);
 }
 
 
@@ -280,7 +263,6 @@ u32 read_cam(struct net_device *dev, u8 addr)
         return read_nic_dword(dev, 0xa8);
 }
 
-////////////////////////////////////////////////////////////
 #ifdef CONFIG_RTL8180_IO_MAP
 
 u8 read_nic_byte(struct net_device *dev, int x)
@@ -352,9 +334,6 @@ void write_nic_word(struct net_device *dev, int x,u16 y)
 
 u8 rtl8192e_ap_sec_type(struct ieee80211_device *ieee)
 {
-       //struct r8192_priv* priv = ieee80211_priv(dev);
-       //struct ieee80211_device *ieee = priv->ieee80211;
-
        static const u8 ccmp_ie[4] = {0x00,0x50,0xf2,0x04};
        static const u8 ccmp_rsn_ie[4] = {0x00, 0x0f, 0xac, 0x04};
        int wpa_ie_len= ieee->wpa_ie_len;
@@ -363,8 +342,8 @@ u8 rtl8192e_ap_sec_type(struct ieee80211_device *ieee)
 
        crypt = ieee->crypt[ieee->tx_keyidx];
 
-       encrypt = (ieee->current_network.capability & WLAN_CAPABILITY_PRIVACY) ||\
-                 (ieee->host_encrypt && crypt && crypt->ops && \
+       encrypt = (ieee->current_network.capability & WLAN_CAPABILITY_PRIVACY) ||
+                 (ieee->host_encrypt && crypt && crypt->ops &&
                   (0 == strcmp(crypt->ops->name,"WEP")));
 
        /* simply judge  */
@@ -399,7 +378,6 @@ rtl8192e_SetHwReg(struct net_device *dev,u8 variable,u8* val)
                case HW_VAR_MEDIA_STATUS:
                {
                        RT_OP_MODE      OpMode = *((RT_OP_MODE *)(val));
-                       //LED_CTL_MODE  LedAction = LED_CTL_NO_LINK;
                        u8              btMsr = read_nic_byte(dev, MSR);
 
                        btMsr &= 0xfc;
@@ -408,17 +386,14 @@ rtl8192e_SetHwReg(struct net_device *dev,u8 variable,u8* val)
                        {
                        case RT_OP_MODE_INFRASTRUCTURE:
                                btMsr |= MSR_INFRA;
-                               //LedAction = LED_CTL_LINK;
                                break;
 
                        case RT_OP_MODE_IBSS:
                                btMsr |= MSR_ADHOC;
-                               // led link set separate
                                break;
 
                        case RT_OP_MODE_AP:
                                btMsr |= MSR_AP;
-                               //LedAction = LED_CTL_LINK;
                                break;
 
                        default:
@@ -427,8 +402,6 @@ rtl8192e_SetHwReg(struct net_device *dev,u8 variable,u8* val)
                        }
 
                        write_nic_byte(dev, MSR, btMsr);
-
-                       //priv->ieee80211->LedControlHandler(dev, LedAction);
                }
                break;
 
@@ -437,7 +410,6 @@ rtl8192e_SetHwReg(struct net_device *dev,u8 variable,u8* val)
                        u32     RegRCR, Type;
 
                        Type = ((u8*)(val))[0];
-                       //priv->ieee80211->GetHwRegHandler(dev, HW_VAR_RCR, (u8*)(&RegRCR));
                        RegRCR = read_nic_dword(dev,RCR);
                        priv->ReceiveConfig = RegRCR;
 
@@ -446,7 +418,6 @@ rtl8192e_SetHwReg(struct net_device *dev,u8 variable,u8* val)
                        else if (Type == false)
                                RegRCR &= (~RCR_CBSSID);
 
-                       //priv->ieee80211->SetHwRegHandler( dev, HW_VAR_RCR, (u8*)(&RegRCR) );
                        write_nic_dword(dev, RCR,RegRCR);
                        priv->ReceiveConfig = RegRCR;
 
@@ -455,9 +426,6 @@ rtl8192e_SetHwReg(struct net_device *dev,u8 variable,u8* val)
 
                case HW_VAR_SLOT_TIME:
                {
-                       //PSTA_QOS      pStaQos = Adapter->MgntInfo.pStaQos;
-                       //AC_CODING     eACI;
-
                        priv->slot_time = val[0];
                        write_nic_byte(dev, SLOT_TIME, val[0]);
 
@@ -485,34 +453,8 @@ rtl8192e_SetHwReg(struct net_device *dev,u8 variable,u8* val)
 
 }
 
-
-///////////////////////////////////////////////////////////
-
-//u8 read_phy_cck(struct net_device *dev, u8 adr);
-//u8 read_phy_ofdm(struct net_device *dev, u8 adr);
-/* this might still called in what was the PHY rtl8185/rtl8192 common code
- * plans are to possibilty turn it again in one common code...
- */
-void force_pci_posting(struct net_device *dev)
-{
-}
-
-
-//warning message WB
-//static struct net_device_stats *rtl8192_stats(struct net_device *dev);
-//void rtl8192_restart(struct net_device *dev);
-void rtl8192_restart(struct work_struct *work);
-//void rtl8192_rq_tx_ack(struct work_struct *work);
-
-void watch_dog_timer_callback(unsigned long data);
-/****************************************************************************
-   -----------------------------PROCFS STUFF-------------------------
-*****************************************************************************/
-
 static struct proc_dir_entry *rtl8192_proc = NULL;
 
-
-
 static int proc_get_stats_ap(char *page, char **start,
                          off_t offset, int count,
                          int *eof, void *data)
@@ -521,7 +463,6 @@ static int proc_get_stats_ap(char *page, char **start,
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
        struct ieee80211_device *ieee = priv->ieee80211;
        struct ieee80211_network *target;
-
        int len = 0;
 
         list_for_each_entry(target, &ieee->network_list, list) {
@@ -549,11 +490,8 @@ static int proc_get_registers(char *page, char **start,
                          int *eof, void *data)
 {
        struct net_device *dev = data;
-//     struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
-
        int len = 0;
        int i,n;
-
        int max=0xff;
 
        /* This dump the current register page */
@@ -562,55 +500,43 @@ static int proc_get_registers(char *page, char **start,
 
        for(n=0;n<=max;)
        {
-               //printk( "\nD: %2x> ", n);
                len += snprintf(page + len, count - len,
                        "\nD:  %2x > ",n);
 
                for(i=0;i<16 && n<=max;i++,n++)
                len += snprintf(page + len, count - len,
                        "%2x ",read_nic_byte(dev,n));
-
-               //      printk("%2x ",read_nic_byte(dev,n));
        }
        len += snprintf(page + len, count - len,"\n");
        len += snprintf(page + len, count - len,
                         "\n####################page 1##################\n ");
         for(n=0;n<=max;)
         {
-                //printk( "\nD: %2x> ", n);
                 len += snprintf(page + len, count - len,
                         "\nD:  %2x > ",n);
 
                 for(i=0;i<16 && n<=max;i++,n++)
                 len += snprintf(page + len, count - len,
                         "%2x ",read_nic_byte(dev,0x100|n));
-
-                //      printk("%2x ",read_nic_byte(dev,n));
         }
 
        len += snprintf(page + len, count - len,
                         "\n####################page 3##################\n ");
         for(n=0;n<=max;)
         {
-                //printk( "\nD: %2x> ", n);
                 len += snprintf(page + len, count - len,
                         "\nD:  %2x > ",n);
 
                 for(i=0;i<16 && n<=max;i++,n++)
                 len += snprintf(page + len, count - len,
                         "%2x ",read_nic_byte(dev,0x300|n));
-
-                //      printk("%2x ",read_nic_byte(dev,n));
         }
 
-
        *eof = 1;
        return len;
 
 }
 
-
-
 static int proc_get_stats_tx(char *page, char **start,
                          off_t offset, int count,
                          int *eof, void *data)
@@ -800,9 +726,6 @@ static void rtl8192_proc_init_one(struct net_device *dev)
                      dev->name);
        }
 }
-/****************************************************************************
-   -----------------------------MISC STUFF-------------------------
-*****************************************************************************/
 
 short check_nic_enough_desc(struct net_device *dev, int prio)
 {
@@ -812,28 +735,17 @@ short check_nic_enough_desc(struct net_device *dev, int prio)
     /* for now we reserve two free descriptor as a safety boundary
      * between the tail and the head
      */
-    if (ring->entries - skb_queue_len(&ring->queue) >= 2) {
-        return 1;
-    } else {
-        return 0;
-    }
+    return (ring->entries - skb_queue_len(&ring->queue) >= 2);
 }
 
 static void tx_timeout(struct net_device *dev)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
-       //rtl8192_commit(dev);
 
        schedule_work(&priv->reset_wq);
        printk("TXTIMEOUT");
 }
 
-
-/****************************************************************************
-      ------------------------------HW STUFF---------------------------
-*****************************************************************************/
-
-
 static void rtl8192_irq_enable(struct net_device *dev)
 {
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
@@ -841,30 +753,14 @@ static void rtl8192_irq_enable(struct net_device *dev)
        write_nic_dword(dev,INTA_MASK, priv->irq_mask);
 }
 
-
 void rtl8192_irq_disable(struct net_device *dev)
 {
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
 
        write_nic_dword(dev,INTA_MASK,0);
-       force_pci_posting(dev);
        priv->irq_enabled = 0;
 }
 
-
-#if 0
-static void rtl8192_set_mode(struct net_device *dev,int mode)
-{
-       u8 ecmd;
-       ecmd=read_nic_byte(dev, EPROM_CMD);
-       ecmd=ecmd &~ EPROM_CMD_OPERATING_MODE_MASK;
-       ecmd=ecmd | (mode<<EPROM_CMD_OPERATING_MODE_SHIFT);
-       ecmd=ecmd &~ (1<<EPROM_CS_SHIFT);
-       ecmd=ecmd &~ (1<<EPROM_CK_SHIFT);
-       write_nic_byte(dev, EPROM_CMD, ecmd);
-}
-#endif
-
 void rtl8192_update_msr(struct net_device *dev)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
@@ -895,42 +791,21 @@ void rtl8192_update_msr(struct net_device *dev)
 
 void rtl8192_set_chan(struct net_device *dev,short ch)
 {
-    struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
-    RT_TRACE(COMP_RF, "=====>%s()====ch:%d\n", __FUNCTION__, ch);
-    priv->chan=ch;
-#if 0
-    if(priv->ieee80211->iw_mode == IW_MODE_ADHOC ||
-            priv->ieee80211->iw_mode == IW_MODE_MASTER){
-
-        priv->ieee80211->link_state = WLAN_LINK_ASSOCIATED;
-        priv->ieee80211->master_chan = ch;
-        rtl8192_update_beacon_ch(dev);
-    }
-#endif
-
-    /* this hack should avoid frame TX during channel setting*/
-
-
-    // tx = read_nic_dword(dev,TX_CONF);
-    // tx &= ~TX_LOOPBACK_MASK;
+       struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
 
-#ifndef LOOP_TEST
-    //TODO
-    // write_nic_dword(dev,TX_CONF, tx |( TX_LOOPBACK_MAC<<TX_LOOPBACK_SHIFT));
+       priv->chan = ch;
 
-    //need to implement rf set channel here WB
+       /* need to implement rf set channel here WB */
 
-    if (priv->rf_set_chan)
-        priv->rf_set_chan(dev,priv->chan);
-    // mdelay(10);
-    // write_nic_dword(dev,TX_CONF,tx | (TX_LOOPBACK_NONE<<TX_LOOPBACK_SHIFT));
-#endif
+       if (priv->rf_set_chan)
+               priv->rf_set_chan(dev, priv->chan);
 }
 
 void rtl8192_rx_enable(struct net_device *dev)
 {
-    struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
-    write_nic_dword(dev, RDQDA,priv->rx_ring_dma);
+       struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
+
+       write_nic_dword(dev, RDQDA,priv->rx_ring_dma);
 }
 
 /* the TX_DESC_BASE setting is according to the following queue index
@@ -947,74 +822,59 @@ void rtl8192_rx_enable(struct net_device *dev)
 static const u32 TX_DESC_BASE[] = {BKQDA, BEQDA, VIQDA, VOQDA, HCCAQDA, CQDA, MQDA, HQDA, BQDA};
 void rtl8192_tx_enable(struct net_device *dev)
 {
-    struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
-    u32 i;
-    for (i = 0; i < MAX_TX_QUEUE_COUNT; i++)
-        write_nic_dword(dev, TX_DESC_BASE[i], priv->tx_ring[i].dma);
+       struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
+       u32 i;
+
+       for (i = 0; i < MAX_TX_QUEUE_COUNT; i++)
+               write_nic_dword(dev, TX_DESC_BASE[i], priv->tx_ring[i].dma);
 
-    ieee80211_reset_queue(priv->ieee80211);
+       ieee80211_reset_queue(priv->ieee80211);
 }
 
 
 static void rtl8192_free_rx_ring(struct net_device *dev)
 {
-    struct r8192_priv *priv = ieee80211_priv(dev);
-    int i;
+       struct r8192_priv *priv = ieee80211_priv(dev);
+       int i;
 
-    for (i = 0; i < priv->rxringcount; i++) {
-        struct sk_buff *skb = priv->rx_buf[i];
-        if (!skb)
-            continue;
+       for (i = 0; i < priv->rxringcount; i++) {
+               struct sk_buff *skb = priv->rx_buf[i];
+               if (!skb)
+                       continue;
 
-        pci_unmap_single(priv->pdev,
-                *((dma_addr_t *)skb->cb),
-                priv->rxbuffersize, PCI_DMA_FROMDEVICE);
-        kfree_skb(skb);
-    }
+               pci_unmap_single(priv->pdev,
+                                *((dma_addr_t *)skb->cb),
+                                priv->rxbuffersize, PCI_DMA_FROMDEVICE);
+               kfree_skb(skb);
+       }
 
-    pci_free_consistent(priv->pdev, sizeof(*priv->rx_ring) * priv->rxringcount,
-            priv->rx_ring, priv->rx_ring_dma);
-    priv->rx_ring = NULL;
+       pci_free_consistent(priv->pdev, sizeof(*priv->rx_ring) * priv->rxringcount,
+                           priv->rx_ring, priv->rx_ring_dma);
+       priv->rx_ring = NULL;
 }
 
 static void rtl8192_free_tx_ring(struct net_device *dev, unsigned int prio)
 {
-    struct r8192_priv *priv = ieee80211_priv(dev);
-    struct rtl8192_tx_ring *ring = &priv->tx_ring[prio];
-
-    while (skb_queue_len(&ring->queue)) {
-        tx_desc_819x_pci *entry = &ring->desc[ring->idx];
-        struct sk_buff *skb = __skb_dequeue(&ring->queue);
-
-        pci_unmap_single(priv->pdev, le32_to_cpu(entry->TxBuffAddr),
-                skb->len, PCI_DMA_TODEVICE);
-        kfree_skb(skb);
-        ring->idx = (ring->idx + 1) % ring->entries;
-    }
-
-    pci_free_consistent(priv->pdev, sizeof(*ring->desc)*ring->entries,
-            ring->desc, ring->dma);
-    ring->desc = NULL;
-}
+       struct r8192_priv *priv = ieee80211_priv(dev);
+       struct rtl8192_tx_ring *ring = &priv->tx_ring[prio];
 
-#if 0
-static void rtl8192_beacon_disable(struct net_device *dev)
-{
-       struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
-       u32 reg;
+       while (skb_queue_len(&ring->queue)) {
+               tx_desc_819x_pci *entry = &ring->desc[ring->idx];
+               struct sk_buff *skb = __skb_dequeue(&ring->queue);
 
-       reg = read_nic_dword(priv->ieee80211->dev,INTA_MASK);
+               pci_unmap_single(priv->pdev, le32_to_cpu(entry->TxBuffAddr),
+                                skb->len, PCI_DMA_TODEVICE);
+               kfree_skb(skb);
+               ring->idx = (ring->idx + 1) % ring->entries;
+       }
 
-       /* disable Beacon realted interrupt signal */
-       reg &= ~(IMR_BcnInt | IMR_BcnInt | IMR_TBDOK | IMR_TBDER);
-       write_nic_dword(priv->ieee80211->dev, INTA_MASK, reg);
+       pci_free_consistent(priv->pdev, sizeof(*ring->desc)*ring->entries,
+                           ring->desc, ring->dma);
+       ring->desc = NULL;
 }
-#endif
 
-void PHY_SetRtl8192eRfOff(struct net_device* dev       )
+void PHY_SetRtl8192eRfOff(struct net_device* dev)
 {
-       //struct r8192_priv *priv = ieee80211_priv(dev);
-
        //disable RF-Chip A/B
        rtl8192_setBBreg(dev, rFPGA0_XA_RFInterfaceOE, BIT4, 0x0);
        //analog to digital off, for power save
@@ -1035,68 +895,49 @@ void PHY_SetRtl8192eRfOff(struct net_device* dev )
 
 void rtl8192_halt_adapter(struct net_device *dev, bool reset)
 {
-       //u8    cmd;
        struct r8192_priv *priv = ieee80211_priv(dev);
        int i;
-       u8      OpMode;
-       u8      u1bTmp;
-       u32     ulRegRead;
+       u8 OpMode;
+       u32 ulRegRead;
 
        OpMode = RT_OP_MODE_NO_LINK;
        priv->ieee80211->SetHwRegHandler(dev, HW_VAR_MEDIA_STATUS, &OpMode);
 
-#if 1
-       if(!priv->ieee80211->bSupportRemoteWakeUp)
-       {
-               u1bTmp = 0x0;   // disable tx/rx. In 8185 we write 0x10 (Reset bit), but here we make reference to WMAC and wirte 0x0. 2006.11.21 Emily
-               //priv->ieee80211->SetHwRegHandler(dev, HW_VAR_COMMAND, &u1bTmp );      // Using HW_VAR_COMMAND instead of writing CMDR directly. Rewrited by Annie, 2006-04-07.
-               write_nic_byte(dev, CMDR, u1bTmp);
+       if (!priv->ieee80211->bSupportRemoteWakeUp) {
+               /*
+                * disable tx/rx. In 8185 we write 0x10 (Reset bit),
+                * but here we make reference to WMAC and wirte 0x0
+                */
+               write_nic_byte(dev, CMDR, 0);
        }
-#else
-       cmd=read_nic_byte(dev,CMDR);
-       write_nic_byte(dev, CMDR, cmd &~ (CR_TE|CR_RE));
-#endif
 
        mdelay(20);
 
-       if(!reset)
-       {
-               //PlatformStallExecution(150000);
+       if (!reset) {
                mdelay(150);
 
 #ifdef RTL8192E
-                       priv->bHwRfOffAction = 2;
+               priv->bHwRfOffAction = 2;
 #endif
 
-               //
-               // Call MgntActSet_RF_State instead to prevent RF config race condition.
-               // By Bruce, 2008-01-17.
-               //
-               if(!priv->ieee80211->bSupportRemoteWakeUp)
-               {
-                       //MgntActSet_RF_State(Adapter, eRfOff, RF_CHANGE_BY_INIT);
-                       //MgntActSet_RF_State(Adapter, eRfOff, Adapter->MgntInfo.RfOffReason);
-                       //if(Adapter->HardwareType == HARDWARE_TYPE_RTL8190P)
-
+               /*
+                * Call MgntActSet_RF_State instead to
+                * prevent RF config race condition.
+                */
+               if (!priv->ieee80211->bSupportRemoteWakeUp) {
                        PHY_SetRtl8192eRfOff(dev);
-
-                       // 2006.11.30. System reset bit
-                       //priv->ieee80211->GetHwRegHandler(dev, HW_VAR_CPU_RST, (u32*)(&ulRegRead) );
                        ulRegRead = read_nic_dword(dev,CPU_GEN);
-                       ulRegRead|=CPU_GEN_SYSTEM_RESET;
-                       //priv->ieee80211->SetHwRegHandler(dev, HW_VAR_CPU_RST, &ulRegRead);
+                       ulRegRead |= CPU_GEN_SYSTEM_RESET;
                        write_nic_dword(dev,CPU_GEN, ulRegRead);
-               }
-               else
-               {
-                       //2008.06.03 for WOL
+               } else {
+                       /* for WOL */
                        write_nic_dword(dev, WFCRC0, 0xffffffff);
                        write_nic_dword(dev, WFCRC1, 0xffffffff);
                        write_nic_dword(dev, WFCRC2, 0xffffffff);
 
-                       //Write PMR register
+                       /* Write PMR register */
                        write_nic_byte(dev, PMR, 0x5);
-                       //Disable tx, enanble rx
+                       /* Disable tx, enanble rx */
                        write_nic_byte(dev, MacBlkCtrl, 0xa);
                }
        }
@@ -1109,16 +950,7 @@ void rtl8192_halt_adapter(struct net_device *dev, bool reset)
        }
 
        skb_queue_purge(&priv->skb_queue);
-       return;
-}
-
-#if 0
-static void rtl8192_reset(struct net_device *dev)
-{
-    rtl8192_irq_disable(dev);
-    printk("This is RTL819xP Reset procedure\n");
 }
-#endif
 
 static const u16 rtl_rate[] = {10,20,55,110,60,90,120,180,240,360,480,540};
 inline u16 rtl8192_rate2rate(short rate)
@@ -1127,81 +959,50 @@ inline u16 rtl8192_rate2rate(short rate)
        return rtl_rate[rate];
 }
 
-
-
-
 static void rtl8192_data_hard_stop(struct net_device *dev)
 {
-       //FIXME !!
-       #if 0
-       struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
-       priv->dma_poll_mask |= (1<<TX_DMA_STOP_LOWPRIORITY_SHIFT);
-       rtl8192_set_mode(dev,EPROM_CMD_CONFIG);
-       write_nic_byte(dev,TX_DMA_POLLING,priv->dma_poll_mask);
-       rtl8192_set_mode(dev,EPROM_CMD_NORMAL);
-       #endif
 }
 
-
 static void rtl8192_data_hard_resume(struct net_device *dev)
 {
-       // FIXME !!
-       #if 0
-       struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
-       priv->dma_poll_mask &= ~(1<<TX_DMA_STOP_LOWPRIORITY_SHIFT);
-       rtl8192_set_mode(dev,EPROM_CMD_CONFIG);
-       write_nic_byte(dev,TX_DMA_POLLING,priv->dma_poll_mask);
-       rtl8192_set_mode(dev,EPROM_CMD_NORMAL);
-       #endif
 }
 
-/* this function TX data frames when the ieee80211 stack requires this.
+/*
+ * this function TX data frames when the ieee80211 stack requires this.
  * It checks also if we need to stop the ieee tx queue, eventually do it
  */
 static void rtl8192_hard_data_xmit(struct sk_buff *skb, struct net_device *dev, int rate)
 {
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
        int ret;
-       //unsigned long flags;
        cb_desc *tcb_desc = (cb_desc *)(skb->cb + MAX_DEV_ADDR_SIZE);
        u8 queue_index = tcb_desc->queue_index;
+
        /* shall not be referred by command packet */
        assert(queue_index != TXCMD_QUEUE);
 
-       if((priv->bHwRadioOff == true)||(!priv->up))
+       if (priv->bHwRadioOff || (!priv->up))
        {
                kfree_skb(skb);
                return;
        }
 
-       //spin_lock_irqsave(&priv->tx_lock,flags);
+       memcpy(skb->cb, &dev, sizeof(dev));
 
-        memcpy((unsigned char *)(skb->cb),&dev,sizeof(dev));
-#if 0
-       tcb_desc->RATRIndex = 7;
-       tcb_desc->bTxDisableRateFallBack = 1;
-       tcb_desc->bTxUseDriverAssingedRate = 1;
-       tcb_desc->bTxEnableFwCalcDur = 1;
-#endif
        skb_push(skb, priv->ieee80211->tx_headroom);
        ret = rtl8192_tx(dev, skb);
-       if(ret != 0) {
+       if (ret != 0) {
                kfree_skb(skb);
-       };
-
-//
-       if(queue_index!=MGNT_QUEUE) {
-       priv->ieee80211->stats.tx_bytes+=(skb->len - priv->ieee80211->tx_headroom);
-       priv->ieee80211->stats.tx_packets++;
        }
 
-       //spin_unlock_irqrestore(&priv->tx_lock,flags);
-
-//     return ret;
-       return;
+       if (queue_index != MGNT_QUEUE) {
+               priv->ieee80211->stats.tx_bytes += (skb->len - priv->ieee80211->tx_headroom);
+               priv->ieee80211->stats.tx_packets++;
+       }
 }
 
-/* This is a rough attempt to TX a frame
+/*
+ * This is a rough attempt to TX a frame
  * This is called by the ieee 80211 stack to TX management frames.
  * If the ring is full packet are dropped (for data frame the queue
  * is stopped before this can happen).
@@ -1209,97 +1010,81 @@ static void rtl8192_hard_data_xmit(struct sk_buff *skb, struct net_device *dev,
 static int rtl8192_hard_start_xmit(struct sk_buff *skb,struct net_device *dev)
 {
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
-
-
        int ret;
-       //unsigned long flags;
         cb_desc *tcb_desc = (cb_desc *)(skb->cb + MAX_DEV_ADDR_SIZE);
         u8 queue_index = tcb_desc->queue_index;
 
-        if(queue_index != TXCMD_QUEUE){
-               if((priv->bHwRadioOff == true)||(!priv->up))
+        if (queue_index != TXCMD_QUEUE) {
+               if (priv->bHwRadioOff || (!priv->up))
                {
-                               kfree_skb(skb);
-                       return 0;
-               }
+                       kfree_skb(skb);
+                       return 0;
+               }
         }
 
-       //spin_lock_irqsave(&priv->tx_lock,flags);
-
-        memcpy((unsigned char *)(skb->cb),&dev,sizeof(dev));
-       if(queue_index == TXCMD_QUEUE) {
-       //      skb_push(skb, USB_HWDESC_HEADER_LEN);
+        memcpy(skb->cb, &dev, sizeof(dev));
+       if (queue_index == TXCMD_QUEUE) {
                rtl819xE_tx_cmd(dev, skb);
                ret = 0;
-               //spin_unlock_irqrestore(&priv->tx_lock,flags);
                return ret;
        } else {
-       //      RT_TRACE(COMP_SEND, "To send management packet\n");
                tcb_desc->RATRIndex = 7;
                tcb_desc->bTxDisableRateFallBack = 1;
                tcb_desc->bTxUseDriverAssingedRate = 1;
                tcb_desc->bTxEnableFwCalcDur = 1;
                skb_push(skb, priv->ieee80211->tx_headroom);
                ret = rtl8192_tx(dev, skb);
-               if(ret != 0) {
+               if (ret != 0) {
                        kfree_skb(skb);
-               };
+               }
        }
 
-//     priv->ieee80211->stats.tx_bytes+=skb->len;
-//     priv->ieee80211->stats.tx_packets++;
-
-       //spin_unlock_irqrestore(&priv->tx_lock,flags);
-
        return ret;
-
 }
 
 
 static void rtl8192_tx_isr(struct net_device *dev, int prio)
 {
-    struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
-
-    struct rtl8192_tx_ring *ring = &priv->tx_ring[prio];
-
-    while (skb_queue_len(&ring->queue)) {
-        tx_desc_819x_pci *entry = &ring->desc[ring->idx];
-        struct sk_buff *skb;
-
-        /* beacon packet will only use the first descriptor defaultly,
-         * and the OWN may not be cleared by the hardware
-         * */
-        if(prio != BEACON_QUEUE) {
-            if(entry->OWN)
-                return;
-            ring->idx = (ring->idx + 1) % ring->entries;
-        }
+       struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
+       struct rtl8192_tx_ring *ring = &priv->tx_ring[prio];
+
+       while (skb_queue_len(&ring->queue)) {
+               tx_desc_819x_pci *entry = &ring->desc[ring->idx];
+               struct sk_buff *skb;
+
+               /*
+                * beacon packet will only use the first descriptor defaultly,
+                * and the OWN may not be cleared by the hardware
+                */
+               if (prio != BEACON_QUEUE) {
+                       if (entry->OWN)
+                               return;
+                       ring->idx = (ring->idx + 1) % ring->entries;
+               }
 
-        skb = __skb_dequeue(&ring->queue);
-        pci_unmap_single(priv->pdev, le32_to_cpu(entry->TxBuffAddr),
-                skb->len, PCI_DMA_TODEVICE);
+               skb = __skb_dequeue(&ring->queue);
+               pci_unmap_single(priv->pdev, le32_to_cpu(entry->TxBuffAddr),
+                                skb->len, PCI_DMA_TODEVICE);
 
-        kfree_skb(skb);
-    }
-    if (prio == MGNT_QUEUE){
-        if (priv->ieee80211->ack_tx_to_ieee){
-            if (rtl8192_is_tx_queue_empty(dev)){
-                priv->ieee80211->ack_tx_to_ieee = 0;
-                ieee80211_ps_tx_ack(priv->ieee80211, 1);
-            }
-        }
-    }
-
-    if(prio != BEACON_QUEUE) {
-        /* try to deal with the pending packets  */
-        tasklet_schedule(&priv->irq_tx_tasklet);
-    }
+               kfree_skb(skb);
+       }
+       if (prio == MGNT_QUEUE) {
+               if (priv->ieee80211->ack_tx_to_ieee) {
+                       if (rtl8192_is_tx_queue_empty(dev)) {
+                               priv->ieee80211->ack_tx_to_ieee = 0;
+                               ieee80211_ps_tx_ack(priv->ieee80211, 1);
+                       }
+               }
+       }
 
+       if (prio != BEACON_QUEUE) {
+               /* try to deal with the pending packets  */
+               tasklet_schedule(&priv->irq_tx_tasklet);
+       }
 }
 
 static void rtl8192_stop_beacon(struct net_device *dev)
 {
-       //rtl8192_beacon_disable(dev);
 }
 
 static void rtl8192_config_rate(struct net_device* dev, u16* rate_config)
@@ -1381,47 +1166,44 @@ static void rtl8192_update_cap(struct net_device* dev, u16 cap)
 
 static void rtl8192_net_update(struct net_device *dev)
 {
-
        struct r8192_priv *priv = ieee80211_priv(dev);
        struct ieee80211_network *net;
        u16 BcnTimeCfg = 0, BcnCW = 6, BcnIFS = 0xf;
        u16 rate_config = 0;
        net = &priv->ieee80211->current_network;
-       //update Basic rate: RR, BRSR
+
+       /* update Basic rate: RR, BRSR */
        rtl8192_config_rate(dev, &rate_config);
-       // 2007.01.16, by Emily
-       // Select RRSR (in Legacy-OFDM and CCK)
-       // For 8190, we select only 24M, 12M, 6M, 11M, 5.5M, 2M, and 1M from the Basic rate.
-       // We do not use other rates.
-        priv->basic_rate = rate_config &= 0x15f;
-       //BSSID
-       write_nic_dword(dev,BSSIDR,((u32*)net->bssid)[0]);
-       write_nic_word(dev,BSSIDR+4,((u16*)net->bssid)[2]);
-#if 0
-       //MSR
-       rtl8192_update_msr(dev);
-#endif
 
+       /*
+        * Select RRSR (in Legacy-OFDM and CCK)
+        * For 8190, we select only 24M, 12M, 6M, 11M, 5.5M,
+        * 2M, and 1M from the Basic rate.
+        * We do not use other rates.
+        */
+       priv->basic_rate = rate_config &= 0x15f;
+
+       /* BSSID */
+       write_nic_dword(dev, BSSIDR, ((u32 *)net->bssid)[0]);
+       write_nic_word(dev, BSSIDR+4, ((u16 *)net->bssid)[2]);
 
-//     rtl8192_update_cap(dev, net->capability);
        if (priv->ieee80211->iw_mode == IW_MODE_ADHOC)
        {
                write_nic_word(dev, ATIMWND, 2);
                write_nic_word(dev, BCN_DMATIME, 256);
                write_nic_word(dev, BCN_INTERVAL, net->beacon_interval);
-       //      write_nic_word(dev, BcnIntTime, 100);
-       //BIT15 of BCN_DRV_EARLY_INT will indicate whether software beacon or hw beacon is applied.
+               /*
+                * BIT15 of BCN_DRV_EARLY_INT will indicate
+                * whether software beacon or hw beacon is applied.
+                */
                write_nic_word(dev, BCN_DRV_EARLY_INT, 10);
                write_nic_byte(dev, BCN_ERR_THRESH, 100);
 
                BcnTimeCfg |= (BcnCW<<BCN_TCFG_CW_SHIFT);
-       // TODO: BcnIFS may required to be changed on ASIC
-               BcnTimeCfg |= BcnIFS<<BCN_TCFG_IFS;
-
+               /* TODO: BcnIFS may required to be changed on ASIC */
+               BcnTimeCfg |= BcnIFS<<BCN_TCFG_IFS;
                write_nic_word(dev, BCN_TCFG, BcnTimeCfg);
        }
-
-
 }
 
 void rtl819xE_tx_cmd(struct net_device *dev, struct sk_buff *skb)
@@ -1481,52 +1263,44 @@ void rtl819xE_tx_cmd(struct net_device *dev, struct sk_buff *skb)
 /*
  * Mapping Software/Hardware descriptor queue id to "Queue Select Field"
  * in TxFwInfo data structure
- * 2006.10.30 by Emily
- *
- * \param QUEUEID       Software Queue
-*/
+ */
 static u8 MapHwQueueToFirmwareQueue(u8 QueueID)
 {
-       u8 QueueSelect = 0x0;       //defualt set to
+       u8 QueueSelect = 0;
 
-       switch(QueueID) {
-               case BE_QUEUE:
-                       QueueSelect = QSLT_BE;  //or QSelect = pTcb->priority;
-                       break;
+       switch (QueueID) {
+       case BE_QUEUE:
+               QueueSelect = QSLT_BE;
+               break;
 
-               case BK_QUEUE:
-                       QueueSelect = QSLT_BK;  //or QSelect = pTcb->priority;
-                       break;
+       case BK_QUEUE:
+               QueueSelect = QSLT_BK;
+               break;
 
-               case VO_QUEUE:
-                       QueueSelect = QSLT_VO;  //or QSelect = pTcb->priority;
-                       break;
+       case VO_QUEUE:
+               QueueSelect = QSLT_VO;
+               break;
 
-               case VI_QUEUE:
-                       QueueSelect = QSLT_VI;  //or QSelect = pTcb->priority;
-                       break;
-               case MGNT_QUEUE:
-                       QueueSelect = QSLT_MGNT;
-                       break;
+       case VI_QUEUE:
+               QueueSelect = QSLT_VI;
+               break;
 
-               case BEACON_QUEUE:
-                       QueueSelect = QSLT_BEACON;
-                       break;
+       case MGNT_QUEUE:
+               QueueSelect = QSLT_MGNT;
+               break;
 
-                       // TODO: 2006.10.30 mark other queue selection until we verify it is OK
-                       // TODO: Remove Assertions
-//#if (RTL819X_FPGA_VER & RTL819X_FPGA_GUANGAN_070502)
-               case TXCMD_QUEUE:
-                       QueueSelect = QSLT_CMD;
-                       break;
-//#endif
-               case HIGH_QUEUE:
-                       //QueueSelect = QSLT_HIGH;
-                       //break;
+       case BEACON_QUEUE:
+               QueueSelect = QSLT_BEACON;
+               break;
 
-               default:
-                       RT_TRACE(COMP_ERR, "TransmitTCB(): Impossible Queue Selection: %d \n", QueueID);
-                       break;
+       case TXCMD_QUEUE:
+               QueueSelect = QSLT_CMD;
+               break;
+
+       case HIGH_QUEUE:
+       default:
+               RT_TRACE(COMP_ERR, "Impossible Queue Selection: %d\n", QueueID);
+               break;
        }
        return QueueSelect;
 }
@@ -1590,194 +1364,168 @@ static u8 QueryIsShort(u8 TxHT, u8 TxRate, cb_desc *tcb_desc)
  * The tx procedure is just as following,
  * skb->cb will contain all the following information,
  * priority, morefrag, rate, &dev.
- * */
+ */
 short rtl8192_tx(struct net_device *dev, struct sk_buff* skb)
 {
-    struct r8192_priv *priv = ieee80211_priv(dev);
-    struct rtl8192_tx_ring  *ring;
-    unsigned long flags;
-    cb_desc *tcb_desc = (cb_desc *)(skb->cb + MAX_DEV_ADDR_SIZE);
-    tx_desc_819x_pci *pdesc = NULL;
-    TX_FWINFO_8190PCI *pTxFwInfo = NULL;
-    dma_addr_t mapping;
-    bool  multi_addr=false,broad_addr=false,uni_addr=false;
-    u8*   pda_addr = NULL;
-    int   idx;
-
-    if(priv->bdisable_nic){
-               RT_TRACE(COMP_ERR,"%s: ERR!! Nic is disabled! Can't tx packet len=%d qidx=%d!!!\n", __FUNCTION__, skb->len, tcb_desc->queue_index);
+       struct r8192_priv *priv = ieee80211_priv(dev);
+       struct rtl8192_tx_ring *ring;
+       unsigned long flags;
+       cb_desc *tcb_desc = (cb_desc *)(skb->cb + MAX_DEV_ADDR_SIZE);
+       tx_desc_819x_pci *pdesc = NULL;
+       TX_FWINFO_8190PCI *pTxFwInfo = NULL;
+       dma_addr_t mapping;
+       bool multi_addr = false, broad_addr = false, uni_addr = false;
+       u8 *pda_addr = NULL;
+       int idx;
+
+       if (priv->bdisable_nic) {
+               RT_TRACE(COMP_ERR, "Nic is disabled! Can't tx packet len=%d qidx=%d!!!\n",
+                        skb->len, tcb_desc->queue_index);
                return skb->len;
-    }
+       }
 
 #ifdef ENABLE_LPS
        priv->ieee80211->bAwakePktSent = true;
 #endif
 
-    mapping = pci_map_single(priv->pdev, skb->data, skb->len, PCI_DMA_TODEVICE);
-    /* collect the tx packets statitcs */
-    pda_addr = ((u8*)skb->data) + sizeof(TX_FWINFO_8190PCI);
-    if(is_multicast_ether_addr(pda_addr))
-        multi_addr = true;
-    else if(is_broadcast_ether_addr(pda_addr))
-        broad_addr = true;
-    else
-        uni_addr = true;
-
-    if(uni_addr)
-        priv->stats.txbytesunicast += (u8)(skb->len) - sizeof(TX_FWINFO_8190PCI);
-    else if(multi_addr)
-        priv->stats.txbytesmulticast +=(u8)(skb->len) - sizeof(TX_FWINFO_8190PCI);
-    else
-        priv->stats.txbytesbroadcast += (u8)(skb->len) - sizeof(TX_FWINFO_8190PCI);
-
-    /* fill tx firmware */
-    pTxFwInfo = (PTX_FWINFO_8190PCI)skb->data;
-    memset(pTxFwInfo,0,sizeof(TX_FWINFO_8190PCI));
-    pTxFwInfo->TxHT = (tcb_desc->data_rate&0x80)?1:0;
-    pTxFwInfo->TxRate = MRateToHwRate8190Pci((u8)tcb_desc->data_rate);
-    pTxFwInfo->EnableCPUDur = tcb_desc->bTxEnableFwCalcDur;
-    pTxFwInfo->Short   = QueryIsShort(pTxFwInfo->TxHT, pTxFwInfo->TxRate, tcb_desc);
-
-    /* Aggregation related */
-    if(tcb_desc->bAMPDUEnable) {
-        pTxFwInfo->AllowAggregation = 1;
-        pTxFwInfo->RxMF = tcb_desc->ampdu_factor;
-        pTxFwInfo->RxAMD = tcb_desc->ampdu_density;
-    } else {
-        pTxFwInfo->AllowAggregation = 0;
-        pTxFwInfo->RxMF = 0;
-        pTxFwInfo->RxAMD = 0;
-    }
+       mapping = pci_map_single(priv->pdev, skb->data, skb->len, PCI_DMA_TODEVICE);
 
-    //
-    // Protection mode related
-    //
-    pTxFwInfo->RtsEnable =     (tcb_desc->bRTSEnable)?1:0;
-    pTxFwInfo->CtsEnable =     (tcb_desc->bCTSEnable)?1:0;
-    pTxFwInfo->RtsSTBC =       (tcb_desc->bRTSSTBC)?1:0;
-    pTxFwInfo->RtsHT=          (tcb_desc->rts_rate&0x80)?1:0;
-    pTxFwInfo->RtsRate =               MRateToHwRate8190Pci((u8)tcb_desc->rts_rate);
-    pTxFwInfo->RtsBandwidth = 0;
-    pTxFwInfo->RtsSubcarrier = tcb_desc->RTSSC;
-    pTxFwInfo->RtsShort =      (pTxFwInfo->RtsHT==0)?(tcb_desc->bRTSUseShortPreamble?1:0):(tcb_desc->bRTSUseShortGI?1:0);
-    //
-    // Set Bandwidth and sub-channel settings.
-    //
-    if(priv->CurrentChannelBW == HT_CHANNEL_WIDTH_20_40)
-    {
-        if(tcb_desc->bPacketBW)
-        {
-            pTxFwInfo->TxBandwidth = 1;
+       /* collect the tx packets statitcs */
+       pda_addr = ((u8 *)skb->data) + sizeof(TX_FWINFO_8190PCI);
+       if (is_multicast_ether_addr(pda_addr))
+               multi_addr = true;
+       else if (is_broadcast_ether_addr(pda_addr))
+               broad_addr = true;
+       else
+               uni_addr = true;
+
+       if (uni_addr)
+               priv->stats.txbytesunicast += (u8)(skb->len) - sizeof(TX_FWINFO_8190PCI);
+       else if (multi_addr)
+               priv->stats.txbytesmulticast += (u8)(skb->len) - sizeof(TX_FWINFO_8190PCI);
+       else
+               priv->stats.txbytesbroadcast += (u8)(skb->len) - sizeof(TX_FWINFO_8190PCI);
+
+       /* fill tx firmware */
+       pTxFwInfo = (PTX_FWINFO_8190PCI)skb->data;
+       memset(pTxFwInfo, 0, sizeof(TX_FWINFO_8190PCI));
+       pTxFwInfo->TxHT = (tcb_desc->data_rate&0x80) ? 1 : 0;
+       pTxFwInfo->TxRate = MRateToHwRate8190Pci((u8)tcb_desc->data_rate);
+       pTxFwInfo->EnableCPUDur = tcb_desc->bTxEnableFwCalcDur;
+       pTxFwInfo->Short = QueryIsShort(pTxFwInfo->TxHT, pTxFwInfo->TxRate, tcb_desc);
+
+       /* Aggregation related */
+       if (tcb_desc->bAMPDUEnable) {
+               pTxFwInfo->AllowAggregation = 1;
+               pTxFwInfo->RxMF = tcb_desc->ampdu_factor;
+               pTxFwInfo->RxAMD = tcb_desc->ampdu_density;
+       } else {
+               pTxFwInfo->AllowAggregation = 0;
+               pTxFwInfo->RxMF = 0;
+               pTxFwInfo->RxAMD = 0;
+       }
+
+       /* Protection mode related */
+       pTxFwInfo->RtsEnable = (tcb_desc->bRTSEnable) ? 1 : 0;
+       pTxFwInfo->CtsEnable = (tcb_desc->bCTSEnable) ? 1 : 0;
+       pTxFwInfo->RtsSTBC = (tcb_desc->bRTSSTBC) ? 1 : 0;
+       pTxFwInfo->RtsHT = (tcb_desc->rts_rate&0x80) ? 1 : 0;
+       pTxFwInfo->RtsRate = MRateToHwRate8190Pci((u8)tcb_desc->rts_rate);
+       pTxFwInfo->RtsBandwidth = 0;
+       pTxFwInfo->RtsSubcarrier = tcb_desc->RTSSC;
+       pTxFwInfo->RtsShort = (pTxFwInfo->RtsHT == 0) ? (tcb_desc->bRTSUseShortPreamble ? 1 : 0) : (tcb_desc->bRTSUseShortGI? 1 : 0);
+
+       /* Set Bandwidth and sub-channel settings. */
+       if (priv->CurrentChannelBW == HT_CHANNEL_WIDTH_20_40) {
+               if (tcb_desc->bPacketBW) {
+                       pTxFwInfo->TxBandwidth = 1;
 #ifdef RTL8190P
-            pTxFwInfo->TxSubCarrier = 3;
+                       pTxFwInfo->TxSubCarrier = 3;
 #else
-            pTxFwInfo->TxSubCarrier = 0;       //By SD3's Jerry suggestion, use duplicated mode, cosa 04012008
+                       /* use duplicated mode */
+                       pTxFwInfo->TxSubCarrier = 0;
 #endif
-        }
-        else
-        {
-            pTxFwInfo->TxBandwidth = 0;
-            pTxFwInfo->TxSubCarrier = priv->nCur40MhzPrimeSC;
-        }
-    } else {
-        pTxFwInfo->TxBandwidth = 0;
-        pTxFwInfo->TxSubCarrier = 0;
-    }
+               } else {
+                       pTxFwInfo->TxBandwidth = 0;
+                       pTxFwInfo->TxSubCarrier = priv->nCur40MhzPrimeSC;
+               }
+       } else {
+               pTxFwInfo->TxBandwidth = 0;
+               pTxFwInfo->TxSubCarrier = 0;
+       }
 
-    if (0)
-    {
-           /* 2007/07/25 MH  Copy current TX FW info.*/
-           memcpy((void*)(&Tmp_TxFwInfo), (void*)(pTxFwInfo), sizeof(TX_FWINFO_8190PCI));
-           printk("&&&&&&&&&&&&&&&&&&&&&&====>print out fwinf\n");
-           printk("===>enable fwcacl:%d\n", Tmp_TxFwInfo.EnableCPUDur);
-           printk("===>RTS STBC:%d\n", Tmp_TxFwInfo.RtsSTBC);
-           printk("===>RTS Subcarrier:%d\n", Tmp_TxFwInfo.RtsSubcarrier);
-           printk("===>Allow Aggregation:%d\n", Tmp_TxFwInfo.AllowAggregation);
-           printk("===>TX HT bit:%d\n", Tmp_TxFwInfo.TxHT);
-           printk("===>Tx rate:%d\n", Tmp_TxFwInfo.TxRate);
-           printk("===>Received AMPDU Density:%d\n", Tmp_TxFwInfo.RxAMD);
-           printk("===>Received MPDU Factor:%d\n", Tmp_TxFwInfo.RxMF);
-           printk("===>TxBandwidth:%d\n", Tmp_TxFwInfo.TxBandwidth);
-           printk("===>TxSubCarrier:%d\n", Tmp_TxFwInfo.TxSubCarrier);
-
-        printk("<=====**********************out of print\n");
+       spin_lock_irqsave(&priv->irq_th_lock, flags);
+       ring = &priv->tx_ring[tcb_desc->queue_index];
+       if (tcb_desc->queue_index != BEACON_QUEUE)
+               idx = (ring->idx + skb_queue_len(&ring->queue)) % ring->entries;
+       else
+               idx = 0;
 
-    }
-    spin_lock_irqsave(&priv->irq_th_lock,flags);
-    ring = &priv->tx_ring[tcb_desc->queue_index];
-    if (tcb_desc->queue_index != BEACON_QUEUE) {
-        idx = (ring->idx + skb_queue_len(&ring->queue)) % ring->entries;
-    } else {
-        idx = 0;
-    }
+       pdesc = &ring->desc[idx];
+       if ((pdesc->OWN == 1) && (tcb_desc->queue_index != BEACON_QUEUE)) {
+               RT_TRACE(COMP_ERR, "No more TX desc@%d, ring->idx = %d,idx = %d,%x",
+                        tcb_desc->queue_index, ring->idx, idx, skb->len);
+               spin_unlock_irqrestore(&priv->irq_th_lock, flags);
+               return skb->len;
+       }
 
-    pdesc = &ring->desc[idx];
-    if((pdesc->OWN == 1) && (tcb_desc->queue_index != BEACON_QUEUE)) {
-           RT_TRACE(COMP_ERR,"No more TX desc@%d, ring->idx = %d,idx = %d,%x", \
-                           tcb_desc->queue_index,ring->idx, idx,skb->len);
-           spin_unlock_irqrestore(&priv->irq_th_lock,flags);
-           return skb->len;
-    }
+       /* fill tx descriptor */
+       memset(pdesc, 0, 12);
 
-    /* fill tx descriptor */
-    memset((u8*)pdesc,0,12);
-    /*DWORD 0*/
-    pdesc->LINIP = 0;
-    pdesc->CmdInit = 1;
-    pdesc->Offset = sizeof(TX_FWINFO_8190PCI) + 8; //We must add 8!! Emily
-    pdesc->PktSize = (u16)skb->len-sizeof(TX_FWINFO_8190PCI);
-
-    /*DWORD 1*/
-    pdesc->SecCAMID= 0;
-    pdesc->RATid = tcb_desc->RATRIndex;
-
-
-    pdesc->NoEnc = 1;
-    pdesc->SecType = 0x0;
-    if (tcb_desc->bHwSec) {
-        switch (priv->ieee80211->pairwise_key_type) {
-            case KEY_TYPE_WEP40:
-            case KEY_TYPE_WEP104:
-                pdesc->SecType = 0x1;
-                pdesc->NoEnc = 0;
-                break;
-            case KEY_TYPE_TKIP:
-                pdesc->SecType = 0x2;
-                pdesc->NoEnc = 0;
-                break;
-            case KEY_TYPE_CCMP:
-                pdesc->SecType = 0x3;
-                pdesc->NoEnc = 0;
-                break;
-            case KEY_TYPE_NA:
-                pdesc->SecType = 0x0;
-                pdesc->NoEnc = 1;
-                break;
-        }
-    }
+       /*DWORD 0*/
+       pdesc->LINIP = 0;
+       pdesc->CmdInit = 1;
+       pdesc->Offset = sizeof(TX_FWINFO_8190PCI) + 8; /* We must add 8!! */
+       pdesc->PktSize = (u16)skb->len-sizeof(TX_FWINFO_8190PCI);
 
-    //
-    // Set Packet ID
-    //
-    pdesc->PktId = 0x0;
+       /*DWORD 1*/
+       pdesc->SecCAMID = 0;
+       pdesc->RATid = tcb_desc->RATRIndex;
 
-    pdesc->QueueSelect = MapHwQueueToFirmwareQueue(tcb_desc->queue_index);
-    pdesc->TxFWInfoSize = sizeof(TX_FWINFO_8190PCI);
+       pdesc->NoEnc = 1;
+       pdesc->SecType = 0x0;
+       if (tcb_desc->bHwSec) {
+               switch (priv->ieee80211->pairwise_key_type) {
+               case KEY_TYPE_WEP40:
+               case KEY_TYPE_WEP104:
+                       pdesc->SecType = 0x1;
+                       pdesc->NoEnc = 0;
+                       break;
+               case KEY_TYPE_TKIP:
+                       pdesc->SecType = 0x2;
+                       pdesc->NoEnc = 0;
+                       break;
+               case KEY_TYPE_CCMP:
+                       pdesc->SecType = 0x3;
+                       pdesc->NoEnc = 0;
+                       break;
+               case KEY_TYPE_NA:
+                       pdesc->SecType = 0x0;
+                       pdesc->NoEnc = 1;
+                       break;
+               }
+       }
 
-    pdesc->DISFB = tcb_desc->bTxDisableRateFallBack;
-    pdesc->USERATE = tcb_desc->bTxUseDriverAssingedRate;
+       /* Set Packet ID */
+       pdesc->PktId = 0x0;
 
-    pdesc->FirstSeg =1;
-    pdesc->LastSeg = 1;
-    pdesc->TxBufferSize = skb->len;
+       pdesc->QueueSelect = MapHwQueueToFirmwareQueue(tcb_desc->queue_index);
+       pdesc->TxFWInfoSize = sizeof(TX_FWINFO_8190PCI);
 
-    pdesc->TxBuffAddr = cpu_to_le32(mapping);
-    __skb_queue_tail(&ring->queue, skb);
-    pdesc->OWN = 1;
-    spin_unlock_irqrestore(&priv->irq_th_lock,flags);
-    dev->trans_start = jiffies;
-    write_nic_word(dev,TPPoll,0x01<<tcb_desc->queue_index);
-    return 0;
+       pdesc->DISFB = tcb_desc->bTxDisableRateFallBack;
+       pdesc->USERATE = tcb_desc->bTxUseDriverAssingedRate;
+
+       pdesc->FirstSeg = 1;
+       pdesc->LastSeg = 1;
+       pdesc->TxBufferSize = skb->len;
+
+       pdesc->TxBuffAddr = cpu_to_le32(mapping);
+       __skb_queue_tail(&ring->queue, skb);
+       pdesc->OWN = 1;
+       spin_unlock_irqrestore(&priv->irq_th_lock, flags);
+       dev->trans_start = jiffies;
+       write_nic_word(dev, TPPoll, 0x01<<tcb_desc->queue_index);
+       return 0;
 }
 
 static short rtl8192_alloc_rx_desc_ring(struct net_device *dev)
@@ -1846,41 +1594,31 @@ static int rtl8192_alloc_tx_desc_ring(struct net_device *dev,
     return 0;
 }
 
-
 static short rtl8192_pci_initdescring(struct net_device *dev)
 {
-    u32 ret;
-    int i;
-    struct r8192_priv *priv = ieee80211_priv(dev);
-
-    ret = rtl8192_alloc_rx_desc_ring(dev);
-    if (ret) {
-        return ret;
-    }
-
+       u32 ret;
+       int i;
+       struct r8192_priv *priv = ieee80211_priv(dev);
 
-    /* general process for other queue */
-    for (i = 0; i < MAX_TX_QUEUE_COUNT; i++) {
-        ret = rtl8192_alloc_tx_desc_ring(dev, i, priv->txringcount);
-        if (ret)
-            goto err_free_rings;
-    }
+       ret = rtl8192_alloc_rx_desc_ring(dev);
+       if (ret)
+               return ret;
 
-#if 0
-    /* specific process for hardware beacon process */
-    ret = rtl8192_alloc_tx_desc_ring(dev, MAX_TX_QUEUE_COUNT - 1, 2);
-    if (ret)
-        goto err_free_rings;
-#endif
+       /* general process for other queue */
+       for (i = 0; i < MAX_TX_QUEUE_COUNT; i++) {
+               ret = rtl8192_alloc_tx_desc_ring(dev, i, priv->txringcount);
+               if (ret)
+                       goto err_free_rings;
+       }
 
-    return 0;
+       return 0;
 
 err_free_rings:
-    rtl8192_free_rx_ring(dev);
-    for (i = 0; i < MAX_TX_QUEUE_COUNT; i++)
-        if (priv->tx_ring[i].desc)
-            rtl8192_free_tx_ring(dev, i);
-    return 1;
+       rtl8192_free_rx_ring(dev);
+       for (i = 0; i < MAX_TX_QUEUE_COUNT; i++)
+               if (priv->tx_ring[i].desc)
+                       rtl8192_free_tx_ring(dev, i);
+       return 1;
 }
 
 static void rtl8192_pci_resetdescring(struct net_device *dev)
@@ -1918,12 +1656,8 @@ static void rtl8192_pci_resetdescring(struct net_device *dev)
     }
 }
 
-#if 1
-extern void rtl8192_update_ratr_table(struct net_device* dev);
 static void rtl8192_link_change(struct net_device *dev)
 {
-//     int i;
-
        struct r8192_priv *priv = ieee80211_priv(dev);
        struct ieee80211_device* ieee = priv->ieee80211;
        //write_nic_word(dev, BCN_INTR_ITV, net->beacon_interval);
@@ -1959,10 +1693,9 @@ static void rtl8192_link_change(struct net_device *dev)
                write_nic_dword(dev, RCR, reg);
        }
 }
-#endif
 
 
-static struct ieee80211_qos_parameters def_qos_parameters = {
+static const struct ieee80211_qos_parameters def_qos_parameters = {
         {3,3,3,3},/* cw_min */
         {7,7,7,7},/* cw_max */
         {2,2,2,2},/* aifs */
@@ -1982,6 +1715,7 @@ static void rtl8192_update_beacon(struct work_struct * work)
        ieee->pHTInfo->bCurrentRT2RTLongSlotTime = net->bssht.bdRT2RTLongSlotTime;
        rtl8192_update_cap(dev, net->capability);
 }
+
 /*
 * background support to run QoS activate functionality
 */
@@ -1992,7 +1726,6 @@ static void rtl8192_qos_activate(struct work_struct * work)
         struct net_device *dev = priv->ieee80211->dev;
         struct ieee80211_qos_parameters *qos_parameters = &priv->ieee80211->current_network.qos_data.parameters;
         u8 mode = priv->ieee80211->current_network.mode;
-//        u32 size = sizeof(struct ieee80211_qos_parameters);
        u8  u1bAIFS;
        u32 u4bAcParam;
         int i;
@@ -2049,7 +1782,7 @@ static int rtl8192_qos_handle_probe_response(struct r8192_priv *priv,
                                        "qos_activate\n");
                }
        } else {
-               memcpy(&priv->ieee80211->current_network.qos_data.parameters,\
+               memcpy(&priv->ieee80211->current_network.qos_data.parameters,
                       &def_qos_parameters, size);
 
                if ((network->qos_data.active == 1) && (active_network == 1)) {
@@ -2078,60 +1811,55 @@ static int rtl8192_handle_beacon(struct net_device * dev,
 }
 
 /*
-* handling the beaconing responses. if we get different QoS setting
-* off the network from the associated setting, adjust the QoS
-* setting
-*/
+ * handling the beaconing responses. if we get different QoS setting
+ * off the network from the associated setting, adjust the QoS setting
+ */
 static int rtl8192_qos_association_resp(struct r8192_priv *priv,
                                     struct ieee80211_network *network)
 {
-        int ret = 0;
-        unsigned long flags;
-        u32 size = sizeof(struct ieee80211_qos_parameters);
-        int set_qos_param = 0;
+       int ret = 0;
+       unsigned long flags;
+       u32 size = sizeof(struct ieee80211_qos_parameters);
+       int set_qos_param = 0;
 
-        if ((priv == NULL) || (network == NULL))
-                return ret;
+       if ((priv == NULL) || (network == NULL))
+               return ret;
 
-       if(priv->ieee80211->state !=IEEE80211_LINKED)
-                return ret;
+       if (priv->ieee80211->state != IEEE80211_LINKED)
+               return ret;
 
-        if ((priv->ieee80211->iw_mode != IW_MODE_INFRA))
-                return ret;
+       if ((priv->ieee80211->iw_mode != IW_MODE_INFRA))
+               return ret;
 
-        spin_lock_irqsave(&priv->ieee80211->lock, flags);
-       if(network->flags & NETWORK_HAS_QOS_PARAMETERS) {
-               memcpy(&priv->ieee80211->current_network.qos_data.parameters,\
-                        &network->qos_data.parameters,\
+       spin_lock_irqsave(&priv->ieee80211->lock, flags);
+       if (network->flags & NETWORK_HAS_QOS_PARAMETERS) {
+               memcpy(&priv->ieee80211->current_network.qos_data.parameters,
+                        &network->qos_data.parameters,
                        sizeof(struct ieee80211_qos_parameters));
                priv->ieee80211->current_network.qos_data.active = 1;
-#if 0
-               if((priv->ieee80211->current_network.qos_data.param_count != \
-                                       network->qos_data.param_count))
-#endif
-                {
-                        set_qos_param = 1;
-                       /* update qos parameter for current network */
-                       priv->ieee80211->current_network.qos_data.old_param_count = \
-                                priv->ieee80211->current_network.qos_data.param_count;
-                       priv->ieee80211->current_network.qos_data.param_count = \
-                                network->qos_data.param_count;
-               }
-        } else {
-               memcpy(&priv->ieee80211->current_network.qos_data.parameters,\
+               set_qos_param = 1;
+               /* update qos parameter for current network */
+               priv->ieee80211->current_network.qos_data.old_param_count =
+                       priv->ieee80211->current_network.qos_data.param_count;
+               priv->ieee80211->current_network.qos_data.param_count =
+                       network->qos_data.param_count;
+
+       } else {
+               memcpy(&priv->ieee80211->current_network.qos_data.parameters,
                       &def_qos_parameters, size);
                priv->ieee80211->current_network.qos_data.active = 0;
                priv->ieee80211->current_network.qos_data.supported = 0;
-                set_qos_param = 1;
-        }
+               set_qos_param = 1;
+       }
 
-        spin_unlock_irqrestore(&priv->ieee80211->lock, flags);
+       spin_unlock_irqrestore(&priv->ieee80211->lock, flags);
 
-       RT_TRACE(COMP_QOS, "%s: network->flags = %d,%d\n",__FUNCTION__,network->flags ,priv->ieee80211->current_network.qos_data.active);
+       RT_TRACE(COMP_QOS, "%s: network->flags = %d,%d\n", __FUNCTION__,
+               network->flags, priv->ieee80211->current_network.qos_data.active);
        if (set_qos_param == 1)
                queue_work(priv->priv_wq, &priv->qos_activate);
 
-        return ret;
+       return ret;
 }
 
 
@@ -2145,22 +1873,18 @@ static int rtl8192_handle_assoc_response(struct net_device *dev,
 }
 
 
-//updateRATRTabel for MCS only. Basic rate is not implement.
-void rtl8192_update_ratr_table(struct net_device* dev)
-       //      POCTET_STRING   posLegacyRate,
-       //      u8*                     pMcsRate)
-       //      PRT_WLAN_STA    pEntry)
+/* updateRATRTabel for MCS only. Basic rate is not implemented. */
+static void rtl8192_update_ratr_table(struct net_device* dev)
 {
        struct r8192_priv* priv = ieee80211_priv(dev);
        struct ieee80211_device* ieee = priv->ieee80211;
        u8* pMcsRate = ieee->dot11HTOperationalRateSet;
-       //struct ieee80211_network *net = &ieee->current_network;
        u32 ratr_value = 0;
        u8 rate_index = 0;
 
        rtl8192_config_rate(dev, (u16*)(&ratr_value));
        ratr_value |= (*(u16*)(pMcsRate)) << 12;
-//     switch (net->mode)
+
        switch (ieee->mode)
        {
                case IEEE_A:
@@ -2196,52 +1920,13 @@ void rtl8192_update_ratr_table(struct net_device* dev)
        write_nic_byte(dev, UFWP, 1);
 }
 
-#if 0
-static u8 ccmp_ie[4] = {0x00,0x50,0xf2,0x04};
-static u8 ccmp_rsn_ie[4] = {0x00, 0x0f, 0xac, 0x04};
-#endif
-
 static bool GetNmodeSupportBySecCfg8190Pci(struct net_device*dev)
 {
-#if 1
-
        struct r8192_priv *priv = ieee80211_priv(dev);
        struct ieee80211_device *ieee = priv->ieee80211;
-       if (ieee->rtllib_ap_sec_type &&
-          (ieee->rtllib_ap_sec_type(ieee)&(SEC_ALG_WEP|SEC_ALG_TKIP))) {
-               return false;
-       } else {
-               return true;
-       }
-#else
-       struct r8192_priv* priv = ieee80211_priv(dev);
-       struct ieee80211_device* ieee = priv->ieee80211;
-        int wpa_ie_len= ieee->wpa_ie_len;
-        struct ieee80211_crypt_data* crypt;
-        int encrypt;
-
-        crypt = ieee->crypt[ieee->tx_keyidx];
-        encrypt = (ieee->current_network.capability & WLAN_CAPABILITY_PRIVACY) || (ieee->host_encrypt && crypt && crypt->ops && (0 == strcmp(crypt->ops->name,"WEP")));
-
-       /* simply judge  */
-       if(encrypt && (wpa_ie_len == 0)) {
-               /* wep encryption, no N mode setting */
-               return false;
-//     } else if((wpa_ie_len != 0)&&(memcmp(&(ieee->wpa_ie[14]),ccmp_ie,4))) {
-       } else if((wpa_ie_len != 0)) {
-               /* parse pairwise key type */
-               //if((pairwisekey = WEP40)||(pairwisekey = WEP104)||(pairwisekey = TKIP))
-               if (((ieee->wpa_ie[0] == 0xdd) && (!memcmp(&(ieee->wpa_ie[14]),ccmp_ie,4))) || ((ieee->wpa_ie[0] == 0x30) && (!memcmp(&ieee->wpa_ie[10],ccmp_rsn_ie, 4))))
-                       return true;
-               else
-                       return false;
-       } else {
-               //RT_TRACE(COMP_ERR,"In %s The GroupEncAlgorithm is [4]\n",__FUNCTION__ );
-               return true;
-       }
 
-       return true;
-#endif
+       return !(ieee->rtllib_ap_sec_type &&
+                (ieee->rtllib_ap_sec_type(ieee)&(SEC_ALG_WEP|SEC_ALG_TKIP)));
 }
 
 static void rtl8192_refresh_supportrate(struct r8192_priv* priv)
@@ -2256,7 +1941,6 @@ static void rtl8192_refresh_supportrate(struct r8192_priv* priv)
        }
        else
                memset(ieee->Regdot11HTOperationalRateSet, 0, 16);
-       return;
 }
 
 static u8 rtl8192_getSupportedWireleeMode(struct net_device*dev)
@@ -2327,20 +2011,13 @@ static void rtl8192_SetWirelessMode(struct net_device* dev, u8 wireless_mode)
 #endif
 
 }
-//init priv variables here
 
 static bool GetHalfNmodeSupportByAPs819xPci(struct net_device* dev)
 {
-       bool                    Reval;
        struct r8192_priv* priv = ieee80211_priv(dev);
        struct ieee80211_device* ieee = priv->ieee80211;
 
-       if(ieee->bHalfWirelessN24GMode == true)
-               Reval = true;
-       else
-               Reval =  false;
-
-       return Reval;
+       return ieee->bHalfWirelessN24GMode;
 }
 
 short rtl8192_is_tx_queue_empty(struct net_device *dev)
@@ -2358,6 +2035,7 @@ short rtl8192_is_tx_queue_empty(struct net_device *dev)
        }
        return 1;
 }
+
 static void rtl8192_hw_sleep_down(struct net_device *dev)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
@@ -2371,15 +2049,12 @@ static void rtl8192_hw_sleep_down(struct net_device *dev)
                return;
        }
        spin_unlock_irqrestore(&priv->rf_ps_lock,flags);
-       //RT_TRACE(COMP_PS, "%s()============>come to sleep down\n", __FUNCTION__);
 
        MgntActSet_RF_State(dev, eRfSleep, RF_CHANGE_BY_PS);
 }
+
 static void rtl8192_hw_sleep_wq (struct work_struct *work)
 {
-//      struct r8180_priv *priv = container_of(work, struct r8180_priv, watch_dog_wq);
-//      struct ieee80211_device * ieee = (struct ieee80211_device*)
-//                                             container_of(work, struct ieee80211_device, watch_dog_wq);
         struct delayed_work *dwork = container_of(work,struct delayed_work,work);
         struct ieee80211_device *ieee = container_of(dwork,struct ieee80211_device,hw_sleep_wq);
         struct net_device *dev = ieee->dev;
@@ -2402,15 +2077,11 @@ static void rtl8192_hw_wakeup(struct net_device* dev)
        }
        spin_unlock_irqrestore(&priv->rf_ps_lock,flags);
 
-       //RT_TRACE(COMP_PS, "%s()============>come to wake up\n", __FUNCTION__);
        MgntActSet_RF_State(dev, eRfOn, RF_CHANGE_BY_PS);
 }
 
 void rtl8192_hw_wakeup_wq (struct work_struct *work)
 {
-//     struct r8180_priv *priv = container_of(work, struct r8180_priv, watch_dog_wq);
-//     struct ieee80211_device * ieee = (struct ieee80211_device*)
-//                                            container_of(work, struct ieee80211_device, watch_dog_wq);
        struct delayed_work *dwork = container_of(work,struct delayed_work,work);
        struct ieee80211_device *ieee = container_of(dwork,struct ieee80211_device,hw_wakeup_wq);
        struct net_device *dev = ieee->dev;
@@ -2463,6 +2134,7 @@ static void rtl8192_hw_to_sleep(struct net_device *dev, u32 th, u32 tl)
        spin_unlock_irqrestore(&priv->ps_lock,flags);
 
 }
+
 static void rtl8192_init_priv_variable(struct net_device* dev)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
@@ -2583,7 +2255,7 @@ static void rtl8192_init_priv_variable(struct net_device* dev)
 #endif
 #ifdef ENABLE_LPS
         priv->ieee80211->LeisurePSLeave            = LeisurePSLeave;
-#endif//ENABL
+#endif
 
        priv->ieee80211->SetHwRegHandler = rtl8192e_SetHwReg;
        priv->ieee80211->rtllib_ap_sec_type = rtl8192e_ap_sec_type;
@@ -2605,15 +2277,13 @@ static void rtl8192_init_priv_variable(struct net_device* dev)
                RCR_AAP | ((u32)7<<RCR_MXDMA_OFFSET) |
                ((u32)7 << RCR_FIFO_OFFSET) | RCR_ONLYERLPKT;
 
-       priv->irq_mask =        (u32)(IMR_ROK | IMR_VODOK | IMR_VIDOK | IMR_BEDOK | IMR_BKDOK |\
-                               IMR_HCCADOK | IMR_MGNTDOK | IMR_COMDOK | IMR_HIGHDOK |\
-                               IMR_BDOK | IMR_RXCMDOK | IMR_TIMEOUT0 | IMR_RDU | IMR_RXFOVW    |\
+       priv->irq_mask =        (u32)(IMR_ROK | IMR_VODOK | IMR_VIDOK | IMR_BEDOK | IMR_BKDOK |
+                               IMR_HCCADOK | IMR_MGNTDOK | IMR_COMDOK | IMR_HIGHDOK |
+                               IMR_BDOK | IMR_RXCMDOK | IMR_TIMEOUT0 | IMR_RDU | IMR_RXFOVW |
                                IMR_TXFOVW | IMR_BcnInt | IMR_TBDOK | IMR_TBDER);
 
        priv->AcmControl = 0;
-       priv->pFirmware = (rt_firmware*)vmalloc(sizeof(rt_firmware));
-       if (priv->pFirmware)
-       memset(priv->pFirmware, 0, sizeof(rt_firmware));
+       priv->pFirmware = vzalloc(sizeof(rt_firmware));
 
        /* rx related queue */
         skb_queue_head_init(&priv->rx_queue);
@@ -2629,7 +2299,6 @@ static void rtl8192_init_priv_variable(struct net_device* dev)
        priv->rf_set_chan = rtl8192_phy_SwChnl;
 }
 
-//init lock here
 static void rtl8192_init_priv_lock(struct r8192_priv* priv)
 {
        spin_lock_init(&priv->tx_lock);
@@ -2643,7 +2312,7 @@ static void rtl8192_init_priv_lock(struct r8192_priv* priv)
        mutex_init(&priv->mutex);
 }
 
-//init tasklet and wait_queue here. only 2.6 above kernel is considered
+/* init tasklet and wait_queue here */
 #define DRV_NAME "wlan0"
 static void rtl8192_init_priv_task(struct net_device* dev)
 {
@@ -2695,7 +2364,10 @@ static void rtl8192_get_eeprom_size(struct net_device* dev)
        RT_TRACE(COMP_INIT, "<===========%s(), epromtype:%d\n", __FUNCTION__, priv->epromtype);
 }
 
-//used to swap endian. as ntohl & htonl are not neccessary to swap endian, so use this instead.
+/*
+ * used to swap endian. as ntohl & htonl are not
+ * neccessary to swap endian, so use this instead.
+ */
 static inline u16 endian_swap(u16* data)
 {
        u16 tmp = *data;
@@ -2704,9 +2376,9 @@ static inline u16 endian_swap(u16* data)
 }
 
 /*
- *     Note:   Adapter->EEPROMAddressSize should be set before this function call.
- *                     EEPROM address size can be got through GetEEPROMSize8185()
-*/
+ * Adapter->EEPROMAddressSize should be set before this function call.
+ *  EEPROM address size can be got through GetEEPROMSize8185()
+ */
 static void rtl8192_read_eeprom_info(struct net_device* dev)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
@@ -2718,7 +2390,7 @@ static void rtl8192_read_eeprom_info(struct net_device* dev)
        u16                     i,usValue, IC_Version;
        u16                     EEPROMId;
 #ifdef RTL8190P
-       u8                      offset;//, tmpAFR;
+       u8                      offset;
        u8                      EepromTxPower[100];
 #endif
        u8 bMac_Tmp_Addr[6] = {0x00, 0xe0, 0x4c, 0x00, 0x00, 0x01};
@@ -3263,14 +2935,11 @@ static short rtl8192_init(struct net_device *dev)
        return 0;
 }
 
-/******************************************************************************
- *function:  This function actually only set RRSR, RATR and BW_OPMODE registers
- *          not to do all the hw config as its name says
- *   input:  net_device dev
- *  output:  none
- *  return:  none
- *  notice:  This part need to modified according to the rate set we filtered
- * ****************************************************************************/
+/*
+ * Actually only set RRSR, RATR and BW_OPMODE registers
+ *  not to do all the hw config as its name says
+ * This part need to modified according to the rate set we filtered
+ */
 static void rtl8192_hwconfig(struct net_device* dev)
 {
        u32 regRATR = 0, regRRSR = 0;
@@ -3330,7 +2999,7 @@ static void rtl8192_hwconfig(struct net_device* dev)
        // Set Retry Limit here
        //
        write_nic_word(dev, RETRY_LIMIT,
-                       priv->ShortRetryLimit << RETRY_LIMIT_SHORT_SHIFT | \
+                       priv->ShortRetryLimit << RETRY_LIMIT_SHORT_SHIFT |
                        priv->LongRetryLimit << RETRY_LIMIT_LONG_SHIFT);
        // Set Contention Window here
 
@@ -3350,8 +3019,6 @@ static RT_STATUS rtl8192_adapter_start(struct net_device *dev)
 //     struct ieee80211_device *ieee = priv->ieee80211;
        u32 ulRegRead;
        RT_STATUS rtStatus = RT_STATUS_SUCCESS;
-//     static char szMACPHYRegFile[] = RTL819X_PHY_MACPHY_REG;
-//     static char szMACPHYRegPGFile[] = RTL819X_PHY_MACPHY_REG_PG;
        //u8 eRFPath;
        u8 tmpvalue;
 #ifdef RTL8192E
@@ -3363,7 +3030,6 @@ static RT_STATUS rtl8192_adapter_start(struct net_device *dev)
 #endif
        u32     tmpRegA, tmpRegC, TempCCk;
        int     i =0;
-//     u32 dwRegRead = 0;
 
        RT_TRACE(COMP_INIT, "====>%s()\n", __FUNCTION__);
        priv->being_init_adapter = true;
@@ -3485,12 +3151,12 @@ static RT_STATUS rtl8192_adapter_start(struct net_device *dev)
 
        //2Set Tx dma burst
 #ifdef RTL8190P
-       write_nic_byte(dev, PCIF, ((MXDMA2_NoLimit<<MXDMA2_RX_SHIFT) | \
-                                                                                       (MXDMA2_NoLimit<<MXDMA2_TX_SHIFT) | \
-                                                                                       (1<<MULRW_SHIFT)));
+       write_nic_byte(dev, PCIF, ((MXDMA2_NoLimit<<MXDMA2_RX_SHIFT) |
+                       (MXDMA2_NoLimit<<MXDMA2_TX_SHIFT) |
+                       (1<<MULRW_SHIFT)));
 #else
        #ifdef RTL8192E
-       write_nic_byte(dev, PCIF, ((MXDMA2_NoLimit<<MXDMA2_RX_SHIFT) |\
+       write_nic_byte(dev, PCIF, ((MXDMA2_NoLimit<<MXDMA2_RX_SHIFT) |
                                   (MXDMA2_NoLimit<<MXDMA2_TX_SHIFT) ));
        #endif
 #endif
@@ -3504,25 +3170,25 @@ static RT_STATUS rtl8192_adapter_start(struct net_device *dev)
        #ifdef TO_DO_LIST
        if(priv->bInHctTest)
        {
-               PlatformEFIOWrite4Byte(Adapter, RQPN1,  NUM_OF_PAGE_IN_FW_QUEUE_BK_DTM << RSVD_FW_QUEUE_PAGE_BK_SHIFT |\
-                                               NUM_OF_PAGE_IN_FW_QUEUE_BE_DTM << RSVD_FW_QUEUE_PAGE_BE_SHIFT | \
-                                       NUM_OF_PAGE_IN_FW_QUEUE_VI_DTM << RSVD_FW_QUEUE_PAGE_VI_SHIFT | \
+               PlatformEFIOWrite4Byte(Adapter, RQPN1,  NUM_OF_PAGE_IN_FW_QUEUE_BK_DTM << RSVD_FW_QUEUE_PAGE_BK_SHIFT |
+                                       NUM_OF_PAGE_IN_FW_QUEUE_BE_DTM << RSVD_FW_QUEUE_PAGE_BE_SHIFT |
+                                       NUM_OF_PAGE_IN_FW_QUEUE_VI_DTM << RSVD_FW_QUEUE_PAGE_VI_SHIFT |
                                        NUM_OF_PAGE_IN_FW_QUEUE_VO_DTM <<RSVD_FW_QUEUE_PAGE_VO_SHIFT);
                PlatformEFIOWrite4Byte(Adapter, RQPN2, NUM_OF_PAGE_IN_FW_QUEUE_MGNT << RSVD_FW_QUEUE_PAGE_MGNT_SHIFT);
-               PlatformEFIOWrite4Byte(Adapter, RQPN3, APPLIED_RESERVED_QUEUE_IN_FW| \
-                                       NUM_OF_PAGE_IN_FW_QUEUE_BCN<<RSVD_FW_QUEUE_PAGE_BCN_SHIFT|\
+               PlatformEFIOWrite4Byte(Adapter, RQPN3, APPLIED_RESERVED_QUEUE_IN_FW|
+                                       NUM_OF_PAGE_IN_FW_QUEUE_BCN<<RSVD_FW_QUEUE_PAGE_BCN_SHIFT|
                                        NUM_OF_PAGE_IN_FW_QUEUE_PUB_DTM<<RSVD_FW_QUEUE_PAGE_PUB_SHIFT);
        }
        else
        #endif
        {
-               write_nic_dword(dev, RQPN1,  NUM_OF_PAGE_IN_FW_QUEUE_BK << RSVD_FW_QUEUE_PAGE_BK_SHIFT |\
-                                       NUM_OF_PAGE_IN_FW_QUEUE_BE << RSVD_FW_QUEUE_PAGE_BE_SHIFT | \
-                                       NUM_OF_PAGE_IN_FW_QUEUE_VI << RSVD_FW_QUEUE_PAGE_VI_SHIFT | \
+               write_nic_dword(dev, RQPN1,  NUM_OF_PAGE_IN_FW_QUEUE_BK << RSVD_FW_QUEUE_PAGE_BK_SHIFT |
+                                       NUM_OF_PAGE_IN_FW_QUEUE_BE << RSVD_FW_QUEUE_PAGE_BE_SHIFT |
+                                       NUM_OF_PAGE_IN_FW_QUEUE_VI << RSVD_FW_QUEUE_PAGE_VI_SHIFT |
                                        NUM_OF_PAGE_IN_FW_QUEUE_VO <<RSVD_FW_QUEUE_PAGE_VO_SHIFT);
                write_nic_dword(dev, RQPN2, NUM_OF_PAGE_IN_FW_QUEUE_MGNT << RSVD_FW_QUEUE_PAGE_MGNT_SHIFT);
-               write_nic_dword(dev, RQPN3, APPLIED_RESERVED_QUEUE_IN_FW| \
-                                       NUM_OF_PAGE_IN_FW_QUEUE_BCN<<RSVD_FW_QUEUE_PAGE_BCN_SHIFT|\
+               write_nic_dword(dev, RQPN3, APPLIED_RESERVED_QUEUE_IN_FW|
+                                       NUM_OF_PAGE_IN_FW_QUEUE_BCN<<RSVD_FW_QUEUE_PAGE_BCN_SHIFT|
                                        NUM_OF_PAGE_IN_FW_QUEUE_PUB<<RSVD_FW_QUEUE_PAGE_PUB_SHIFT);
        }
 
@@ -3807,7 +3473,6 @@ static void rtl8192_prepare_beacon(struct r8192_priv *priv)
 
        skb = ieee80211_get_beacon(priv->ieee80211);
        tcb_desc = (cb_desc *)(skb->cb + 8);
-        //printk("===========> %s\n", __FUNCTION__);
        //spin_lock_irqsave(&priv->tx_lock,flags);
        /* prepare misc info for the beacon xmit */
        tcb_desc->queue_index = BEACON_QUEUE;
@@ -3825,7 +3490,8 @@ static void rtl8192_prepare_beacon(struct r8192_priv *priv)
 }
 
 
-/* this configures registers for beacon tx and enables it via
+/*
+ * configure registers for beacon tx and enables it via
  * rtl8192_beacon_tx_enable(). rtl8192_beacon_tx_disable() might
  * be used to stop beacon transmission
  */
@@ -3876,11 +3542,6 @@ static void rtl8192_start_beacon(struct net_device *dev)
        /* enable the interrupt for ad-hoc process */
        rtl8192_irq_enable(dev);
 }
-/***************************************************************************
-    -------------------------------NET STUFF---------------------------
-***************************************************************************/
-
-
 
 static bool HalTxCheckStuck8190Pci(struct net_device *dev)
 {
@@ -3897,9 +3558,8 @@ static bool HalTxCheckStuck8190Pci(struct net_device *dev)
 }
 
 /*
-*      <Assumption: RT_TX_SPINLOCK is acquired.>
-*      First added: 2006.11.19 by emily
-*/
+ * Assumption: RT_TX_SPINLOCK is acquired.
+ */
 static RESET_TYPE
 TxCheckStuck(struct net_device *dev)
 {
@@ -3908,12 +3568,10 @@ TxCheckStuck(struct net_device *dev)
        ptx_ring                head=NULL,tail=NULL,txring = NULL;
        u8                      ResetThreshold = NIC_SEND_HANG_THRESHOLD_POWERSAVE;
        bool                    bCheckFwTxCnt = false;
-       //unsigned long flags;
 
        //
        // Decide Stuch threshold according to current power save mode
        //
-       //printk("++++++++++++>%s()\n",__FUNCTION__);
        switch (priv->ieee80211->dot11PowerSaveMode)
        {
                // The threshold value  may required to be adjusted .
@@ -4246,15 +3904,12 @@ static void CamRestoreAllEntry(struct net_device *dev)
        }
 }
 
-void rtl8192_cancel_deferred_work(struct r8192_priv* priv);
-int _rtl8192_up(struct net_device *dev);
-
 /*
  * This function is used to fix Tx/Rx stop bug temporarily.
  * This function will do "system reset" to NIC when Tx or Rx is stuck.
  * The method checking Tx/Rx stuck of this function is supported by FW,
  * which reports Tx and Rx counter to register 0x128 and 0x130.
- * */
+ */
 static void rtl819x_ifsilentreset(struct net_device *dev)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
@@ -4387,7 +4042,6 @@ void InactivePsWorkItemCallback(struct net_device *dev)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
        PRT_POWER_SAVE_CONTROL  pPSC = (PRT_POWER_SAVE_CONTROL)(&(priv->ieee80211->PowerSaveControl));
-       //u8                                                    index = 0;
 
        RT_TRACE(COMP_POWER, "InactivePsWorkItemCallback() ---------> \n");
        //
@@ -4400,7 +4054,7 @@ void InactivePsWorkItemCallback(struct net_device *dev)
        //
        pPSC->bSwRfProcessing = TRUE;
 
-       RT_TRACE(COMP_RF, "InactivePsWorkItemCallback(): Set RF to %s.\n", \
+       RT_TRACE(COMP_RF, "InactivePsWorkItemCallback(): Set RF to %s.\n",
                        pPSC->eInactivePowerState == eRfOff?"OFF":"ON");
 
 
@@ -4414,15 +4068,10 @@ void InactivePsWorkItemCallback(struct net_device *dev)
 }
 
 #ifdef ENABLE_LPS
-//
-// Change current and default preamble mode.
-// 2005.01.06, by rcnjko.
-//
+/* Change current and default preamble mode. */
 bool MgntActSet_802_11_PowerSaveMode(struct net_device *dev,   u8 rtPsMode)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
-       //PRT_POWER_SAVE_CONTROL pPSC = (PRT_POWER_SAVE_CONTROL)(&(priv->ieee80211->PowerSaveControl));
-       //u8 RpwmVal, FwPwrMode;
 
        // Currently, we do not change power save mode on IBSS mode.
        if(priv->ieee80211->iw_mode == IW_MODE_ADHOC)
@@ -4464,14 +4113,7 @@ bool MgntActSet_802_11_PowerSaveMode(struct net_device *dev,     u8 rtPsMode)
        return true;
 }
 
-//================================================================================
-// Leisure Power Save in linked state.
-//================================================================================
-
-//
-//     Description:
-//             Enter the leisure power save mode.
-//
+/* Enter the leisure power save mode. */
 void LeisurePSEnter(struct net_device *dev)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
@@ -4507,20 +4149,12 @@ void LeisurePSEnter(struct net_device *dev)
 }
 
 
-//
-//     Description:
-//             Leave the leisure power save mode.
-//
+/* Leave leisure power save mode. */
 void LeisurePSLeave(struct net_device *dev)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
        PRT_POWER_SAVE_CONTROL pPSC = (PRT_POWER_SAVE_CONTROL)(&(priv->ieee80211->PowerSaveControl));
 
-
-       //RT_TRACE(COMP_PS, "LeisurePSLeave()...\n");
-       //RT_TRACE(COMP_PS, "pPSC->bLeisurePs = %d, ieee->ps = %d\n",
-       //      pPSC->bLeisurePs, priv->ieee80211->ps);
-
        if (pPSC->bLeisurePs)
        {
                if(priv->ieee80211->ps != IEEE80211_PS_DISABLED)
@@ -4535,11 +4169,7 @@ void LeisurePSLeave(struct net_device *dev)
 #endif
 
 
-//
-//     Description:
-//             Enter the inactive power save mode. RF will be off
-//     2007.08.17, by shien chang.
-//
+/* Enter the inactive power save mode. RF will be off */
 void
 IPSEnter(struct net_device *dev)
 {
@@ -4673,7 +4303,7 @@ static void rtl819x_watchdog_wqcallback(struct work_struct *work)
        static u8 last_time = 0;
        bool bEnterPS = false;
 
-       if((!priv->up) || (priv->bHwRadioOff == true))
+       if ((!priv->up) || priv->bHwRadioOff)
                return;
 
        if(!priv->up)
@@ -4683,8 +4313,8 @@ static void rtl819x_watchdog_wqcallback(struct work_struct *work)
 //     printk("watch_dog ENABLE_IPS\n");
        if(ieee->actscanning == false){
                //printk("%d,%d,%d,%d\n", ieee->eRFPowerState, ieee->is_set_key, ieee->proto_stoppping, ieee->wx_set_enc);
-               if((ieee->iw_mode == IW_MODE_INFRA) && (ieee->state == IEEE80211_NOLINK) &&\
-                   (ieee->eRFPowerState == eRfOn)&&!ieee->is_set_key &&\
+               if((ieee->iw_mode == IW_MODE_INFRA) && (ieee->state == IEEE80211_NOLINK) &&
+                   (ieee->eRFPowerState == eRfOn)&&!ieee->is_set_key &&
                    (!ieee->proto_stoppping) && !ieee->wx_set_enc){
                        if(ieee->PowerSaveControl.ReturnPoint == IPS_CALLBACK_NONE){
                                //printk("====================>haha:IPSEnter()\n");
@@ -4811,7 +4441,8 @@ void watch_dog_timer_callback(unsigned long data)
        mod_timer(&priv->watch_dog_timer, jiffies + MSECS(IEEE80211_WATCH_DOG_TIME));
 
 }
-int _rtl8192_up(struct net_device *dev)
+
+static int _rtl8192_up(struct net_device *dev)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
        //int i;
@@ -4886,11 +4517,7 @@ static int rtl8192_close(struct net_device *dev)
 int rtl8192_down(struct net_device *dev)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
-//     int i;
-#if 0
-       u8      ucRegRead;
-       u32     ulRegRead;
-#endif
+
        if (priv->up == 0) return -1;
 
 #ifdef ENABLE_LPS
@@ -4907,31 +4534,6 @@ int rtl8192_down(struct net_device *dev)
                netif_stop_queue(dev);
 
        rtl8192_irq_disable(dev);
-#if 0
-       if(!priv->ieee80211->bSupportRemoteWakeUp) {
-               MgntActSet_RF_State(dev, eRfOff, RF_CHANGE_BY_INIT);
-               // 2006.11.30. System reset bit
-               ulRegRead = read_nic_dword(dev, CPU_GEN);
-               ulRegRead|=CPU_GEN_SYSTEM_RESET;
-               write_nic_dword(dev, CPU_GEN, ulRegRead);
-       } else {
-               //2008.06.03 for WOL
-               write_nic_dword(dev, WFCRC0, 0xffffffff);
-               write_nic_dword(dev, WFCRC1, 0xffffffff);
-               write_nic_dword(dev, WFCRC2, 0xffffffff);
-#ifdef RTL8190P
-               //GPIO 0 = TRUE
-               ucRegRead = read_nic_byte(dev, GPO);
-               ucRegRead |= BIT0;
-               write_nic_byte(dev, GPO, ucRegRead);
-#endif
-               //Write PMR register
-               write_nic_byte(dev, PMR, 0x5);
-               //Disable tx, enanble rx
-               write_nic_byte(dev, MacBlkCtrl, 0xa);
-       }
-#endif
-//     flush_scheduled_work();
        rtl8192_cancel_deferred_work(priv);
        deinit_hal_dm(dev);
        del_timer_sync(&priv->watch_dog_timer);
@@ -4943,7 +4545,7 @@ int rtl8192_down(struct net_device *dev)
 
        RT_TRACE(COMP_DOWN, "<==========%s()\n", __FUNCTION__);
 
-               return 0;
+       return 0;
 }
 
 
@@ -4961,7 +4563,7 @@ void rtl8192_commit(struct net_device *dev)
        _rtl8192_up(dev);
 }
 
-void rtl8192_restart(struct work_struct *work)
+static void rtl8192_restart(struct work_struct *work)
 {
         struct r8192_priv *priv = container_of(work, struct r8192_priv, reset_wq);
         struct net_device *dev = priv->ieee80211->dev;
@@ -5187,21 +4789,7 @@ static u8 HwRateToMRate90(bool bIsHT, u8 rate)
        return ret_rate;
 }
 
-/**
- * Function:     UpdateRxPktTimeStamp
- * Overview:     Recored down the TSF time stamp when receiving a packet
- *
- * Input:
- *       PADAPTER        Adapter
- *       PRT_RFD         pRfd,
- *
- * Output:
- *       PRT_RFD         pRfd
- *                               (pRfd->Status.TimeStampHigh is updated)
- *                               (pRfd->Status.TimeStampLow is updated)
- * Return:
- *               None
- */
+/* Record the TSF time stamp when receiving a packet */
 static void UpdateRxPktTimeStamp8190 (struct net_device *dev, struct ieee80211_rx_stats *stats)
 {
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
@@ -5226,16 +4814,14 @@ static long rtl819x_translate_todbm(u8 signal_strength_index)// 0-100 index.
        return signal_power;
 }
 
-//
-//     Description:
-//             Update Rx signal related information in the packet reeived
-//             to RxStats. User application can query RxStats to realize
-//             current Rx signal status.
-//
-//     Assumption:
-//             In normal operation, user only care about the information of the BSS
-//             and we shall invoke this function if the packet received is from the BSS.
-//
+/*
+ * Update Rx signal related information in the packet reeived
+ * to RxStats. User application can query RxStats to realize
+ * current Rx signal status.
+ *
+ * In normal operation, user only care about the information of the BSS
+ * and we shall invoke this function if the packet received is from the BSS.
+ */
 static void
 rtl819x_update_rxsignalstatistics8190pci(
        struct r8192_priv * priv,
@@ -5577,22 +5163,6 @@ static void rtl8192_process_phyinfo(struct r8192_priv * priv, u8* buffer,struct
 
 }
 
-/*-----------------------------------------------------------------------------
- * Function:   rtl819x_query_rxpwrpercentage()
- *
- * Overview:
- *
- * Input:              char            antpower
- *
- * Output:             NONE
- *
- * Return:             0-100 percentage
- *
- * Revised History:
- *     When            Who     Remark
- *     05/26/2008      amy     Create Version 0 porting from windows code.
- *
- *---------------------------------------------------------------------------*/
 static u8 rtl819x_query_rxpwrpercentage(
        char            antpower
        )
@@ -5610,7 +5180,7 @@ static u8 rtl819x_query_rxpwrpercentage(
                return  (100+antpower);
        }
 
-}      /* QueryRxPwrPercentage */
+}
 
 static u8
 rtl819x_evm_dbtopercentage(
@@ -5629,14 +5199,10 @@ rtl819x_evm_dbtopercentage(
        ret_val*=3;
        if(ret_val == 99)
                ret_val = 100;
-       return(ret_val);
+       return ret_val;
 }
 
-//
-//     Description:
-//     We want good-looking for signal strength/quality
-//     2007/7/19 01:09, by cosa.
-//
+/* We want good-looking for signal strength/quality */
 static long rtl819x_signal_scale_mapping(long currsig)
 {
        long retsig;
@@ -5962,7 +5528,7 @@ static void rtl8192_query_rxphystatus(
                if (rf_rx_num != 0)
                        pstats->SignalStrength = precord_stats->SignalStrength = (u8)(rtl819x_signal_scale_mapping((long)(total_rssi/=rf_rx_num)));
        }
-}      /* QueryRxPhyStatus8190Pci */
+}
 
 static void
 rtl8192_record_rxdesc_forlateruse(
@@ -6072,20 +5638,7 @@ static void rtl8192_irq_tx_tasklet(struct r8192_priv *priv)
        rtl8192_tx_resume(priv->ieee80211->dev);
 }
 
-/**
-* Function:    UpdateReceivedRateHistogramStatistics
-* Overview:    Recored down the received data rate
-*
-* Input:
-*      PADAPTER        Adapter
-*      PRT_RFD         pRfd,
-*
-* Output:
-*      PRT_TCB         Adapter
-*                              (Adapter->RxStats.ReceivedRateHistogram[] is updated)
-* Return:
-*              None
-*/
+/* Record the received data rate */
 static void UpdateReceivedRateHistogramStatistics8190(
        struct net_device *dev,
        struct ieee80211_rx_stats* pstats
@@ -6096,11 +5649,6 @@ static void UpdateReceivedRateHistogramStatistics8190(
        u32 rateIndex;
        u32 preamble_guardinterval;  //1: short preamble/GI, 0: long preamble/GI
 
-       /* 2007/03/09 MH We will not update rate of packet from rx cmd queue. */
-       #if 0
-       if (pRfd->queue_id == CMPK_RX_QUEUE_ID)
-               return;
-       #endif
        if(pstats->bCRC)
                rcvType = 2;
        else if(pstats->bICV)
@@ -6279,6 +5827,9 @@ static void rtl8192_rx(struct net_device *dev)
                     }
                 }
 
+               pci_unmap_single(priv->pdev, *((dma_addr_t *) skb->cb),
+                       priv->rxbuffersize, PCI_DMA_FROMDEVICE);
+
                 skb = new_skb;
                 priv->rx_buf[priv->rx_idx] = skb;
                 *((dma_addr_t *) skb->cb) = pci_map_single(priv->pdev, skb_tail_pointer(skb), priv->rxbuffersize, PCI_DMA_FROMDEVICE);
@@ -6306,7 +5857,6 @@ static void rtl8192_irq_rx_tasklet(struct r8192_priv *priv)
 static const struct net_device_ops rtl8192_netdev_ops = {
        .ndo_open =                     rtl8192_open,
        .ndo_stop =                     rtl8192_close,
-/*     .ndo_get_stats =                rtl8192_stats, */
        .ndo_tx_timeout =               tx_timeout,
        .ndo_do_ioctl =                 rtl8192_ioctl,
        .ndo_set_multicast_list =       r8192_set_multicast,
@@ -6314,10 +5864,6 @@ static const struct net_device_ops rtl8192_netdev_ops = {
        .ndo_start_xmit =               ieee80211_rtl_xmit,
 };
 
-/****************************************************************************
-     ---------------------------- PCI_STUFF---------------------------
-*****************************************************************************/
-
 static int __devinit rtl8192_pci_probe(struct pci_dev *pdev,
                         const struct pci_device_id *id)
 {
@@ -6325,6 +5871,7 @@ static int __devinit rtl8192_pci_probe(struct pci_dev *pdev,
        struct net_device *dev = NULL;
        struct r8192_priv *priv= NULL;
        u8 unit = 0;
+       int ret = -ENODEV;
 
 #ifdef CONFIG_RTL8192_IO_MAP
        unsigned long pio_start, pio_len, pio_flags;
@@ -6344,8 +5891,10 @@ static int __devinit rtl8192_pci_probe(struct pci_dev *pdev,
        pci_set_dma_mask(pdev, 0xffffff00ULL);
        pci_set_consistent_dma_mask(pdev,0xffffff00ULL);
        dev = alloc_ieee80211(sizeof(struct r8192_priv));
-       if (!dev)
-               return -ENOMEM;
+       if (!dev) {
+               ret = -ENOMEM;
+               goto fail_free;
+       }
 
        pci_set_drvdata(pdev, dev);
        SET_NETDEV_DEV(dev, &pdev->dev);
@@ -6494,18 +6043,19 @@ fail:
                free_ieee80211(dev);
        }
 
+fail_free:
        pci_disable_device(pdev);
 
        DMESG("wlan driver load failed\n");
        pci_set_drvdata(pdev, NULL);
-       return -ENODEV;
+       return ret;
 
 }
 
 /* detach all the work and timer structure declared or inititialized
  * in r8192_init function.
  * */
-void rtl8192_cancel_deferred_work(struct r8192_priv* priv)
+static void rtl8192_cancel_deferred_work(struct r8192_priv* priv)
 {
        /* call cancel_work_sync instead of cancel_delayed_work if and only if Linux_version_code
          * is  or is newer than 2.6.20 and work structure is defined to be struct work_struct.
@@ -6769,7 +6319,6 @@ static irqreturn_t rtl8192_interrupt(int irq, void *netdev)
         rtl8192_try_wake_queue(dev, VO_QUEUE);
     }
 
-    force_pci_posting(dev);
     spin_unlock_irqrestore(&priv->irq_th_lock,flags);
 
     return IRQ_HANDLED;
@@ -6777,29 +6326,15 @@ static irqreturn_t rtl8192_interrupt(int irq, void *netdev)
 
 static void rtl8192_try_wake_queue(struct net_device *dev, int pri)
 {
-#if 0
-       unsigned long flags;
-       short enough_desc;
-       struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
-
-       spin_lock_irqsave(&priv->tx_lock,flags);
-       enough_desc = check_nic_enough_desc(dev,pri);
-        spin_unlock_irqrestore(&priv->tx_lock,flags);
-
-       if(enough_desc)
-               ieee80211_rtl_wake_queue(priv->ieee80211);
-#endif
 }
 
 
 void EnableHWSecurityConfig8192(struct net_device *dev)
 {
         u8 SECR_value = 0x0;
-       // struct ieee80211_device* ieee1 = container_of(&dev, struct ieee80211_device, dev);
-        //printk("==>ieee1:%p, dev:%p\n", ieee1, dev);
        struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
-        struct ieee80211_device* ieee = priv->ieee80211;
-        //printk("==>ieee:%p, dev:%p\n", ieee, dev);
+       struct ieee80211_device* ieee = priv->ieee80211;
+
        SECR_value = SCR_TxEncEnable | SCR_RxDecEnable;
 #if 1
        if (((KEY_TYPE_WEP40 == ieee->pairwise_key_type) || (KEY_TYPE_WEP104 == ieee->pairwise_key_type)) && (priv->ieee80211->auth_mode != 2))
@@ -6825,7 +6360,7 @@ void EnableHWSecurityConfig8192(struct net_device *dev)
                SECR_value &= ~SCR_RxDecEnable;
        }
 
-       RT_TRACE(COMP_SEC,"%s:, hwsec:%d, pairwise_key:%d, SECR_value:%x\n", __FUNCTION__, \
+       RT_TRACE(COMP_SEC,"%s:, hwsec:%d, pairwise_key:%d, SECR_value:%x\n", __FUNCTION__,
                        ieee->hwsec_active, ieee->pairwise_key_type, SECR_value);
        {
                 write_nic_byte(dev, SECR,  SECR_value);//SECR_value |  SCR_UseDK );
@@ -6910,26 +6445,6 @@ void setKey(     struct net_device *dev,
        }
        RT_TRACE(COMP_SEC,"=========>after set key, usconfig:%x\n", usConfig);
 }
-// This function seems not ready! WB
-void CamPrintDbgReg(struct net_device* dev)
-{
-       unsigned long rvalue;
-       unsigned char ucValue;
-       write_nic_dword(dev, DCAM, 0x80000000);
-       msleep(40);
-       rvalue = read_nic_dword(dev, DCAM);     //delay_ms(40);
-       RT_TRACE(COMP_SEC, " TX CAM=%8lX ",rvalue);
-       if((rvalue & 0x40000000) != 0x4000000)
-               RT_TRACE(COMP_SEC, "-->TX Key Not Found      ");
-       msleep(20);
-       write_nic_dword(dev, DCAM, 0x00000000); //delay_ms(40);
-       rvalue = read_nic_dword(dev, DCAM);     //delay_ms(40);
-       RT_TRACE(COMP_SEC, "RX CAM=%8lX ",rvalue);
-       if((rvalue & 0x40000000) != 0x4000000)
-               RT_TRACE(COMP_SEC, "-->CAM Key Not Found   ");
-       ucValue = read_nic_byte(dev, SECR);
-       RT_TRACE(COMP_SEC, "WPA_Config=%x \n",ucValue);
-}
 
 bool NicIFEnableNIC(struct net_device* dev)
 {
@@ -6947,7 +6462,6 @@ bool NicIFEnableNIC(struct net_device* dev)
        //NicIFResetMemory(Adapter);
 
        // <2> Enable Adapter
-       //printk("===========>%s()\n",__FUNCTION__);
        //priv->bfirst_init = true;
        init_status = rtl8192_adapter_start(dev);
        if (init_status != RT_STATUS_SUCCESS) {
@@ -6962,16 +6476,17 @@ bool NicIFEnableNIC(struct net_device* dev)
        // <3> Enable Interrupt
        rtl8192_irq_enable(dev);
        priv->bdisable_nic = false;
-       //RT_TRACE(COMP_PS,"<===========%s()\n",__FUNCTION__);
-       return (init_status == RT_STATUS_SUCCESS) ? true:false;
+
+       return (init_status == RT_STATUS_SUCCESS);
 }
+
 bool NicIFDisableNIC(struct net_device* dev)
 {
        bool    status = true;
        struct r8192_priv* priv = ieee80211_priv(dev);
        u8 tmp_state = 0;
        // <1> Disable Interrupt
-       //RT_TRACE(COMP_PS, "=========>%s()\n",__FUNCTION__);
+
        priv->bdisable_nic = true;      //YJ,move,091109
        tmp_state = priv->ieee80211->state;
 
@@ -6985,14 +6500,9 @@ bool NicIFDisableNIC(struct net_device* dev)
        // <3> Disable Adapter
        rtl8192_halt_adapter(dev, false);
 //     priv->bdisable_nic = true;
-       //RT_TRACE(COMP_PS, "<=========%s()\n",__FUNCTION__);
 
        return status;
 }
 
-
-/***************************************************************************
-     ------------------- module init / exit stubs ----------------
-****************************************************************************/
 module_init(rtl8192_pci_module_init);
 module_exit(rtl8192_pci_module_exit);