OSDN Git Service

Use the kernel's atomic operations directly
[android-x86/external-modules-rtl8723au.git] / os_dep / ioctl_cfg80211.c
index 9ab89ef..9c417c4 100644 (file)
@@ -24,7 +24,6 @@
 #include <drv_types.h>
 #include <rtw_ioctl.h>
 #include <rtw_ioctl_set.h>
-#include <rtw_ioctl_query.h>
 #include <xmit_osdep.h>
 
 #ifdef CONFIG_IOCTL_CFG80211
@@ -136,28 +135,28 @@ static struct ieee80211_channel rtw_5ghz_a_channels[] = {
 
 void rtw_2g_channels_init(struct ieee80211_channel *channels)
 {
-       _rtw_memcpy((void*)channels, (void*)rtw_2ghz_channels,
+       memcpy((void*)channels, (void*)rtw_2ghz_channels,
                sizeof(struct ieee80211_channel)*RTW_2G_CHANNELS_NUM
        );
 }
 
 void rtw_5g_channels_init(struct ieee80211_channel *channels)
 {
-       _rtw_memcpy((void*)channels, (void*)rtw_5ghz_a_channels,
+       memcpy((void*)channels, (void*)rtw_5ghz_a_channels,
                sizeof(struct ieee80211_channel)*RTW_5G_CHANNELS_NUM
        );
 }
 
 void rtw_2g_rates_init(struct ieee80211_rate *rates)
 {
-       _rtw_memcpy(rates, rtw_g_rates,
+       memcpy(rates, rtw_g_rates,
                sizeof(struct ieee80211_rate)*RTW_G_RATES_NUM
        );
 }
 
 void rtw_5g_rates_init(struct ieee80211_rate *rates)
 {
-       _rtw_memcpy(rates, rtw_a_rates,
+       memcpy(rates, rtw_a_rates,
                sizeof(struct ieee80211_rate)*RTW_A_RATES_NUM
        );
 }
@@ -393,21 +392,21 @@ static int rtw_cfg80211_inform_bss(_adapter *padapter, struct wlan_network *pnet
        //pmlmeext->mgnt_seq++;
 
        if (pnetwork->network.Reserved[0] == 1) { // WIFI_BEACON
-               _rtw_memcpy(pwlanhdr->addr1, bc_addr, ETH_ALEN);
+               memcpy(pwlanhdr->addr1, bc_addr, ETH_ALEN);
                SetFrameSubType(pbuf, WIFI_BEACON);
        } else {
-               _rtw_memcpy(pwlanhdr->addr1, myid(&(padapter->eeprompriv)), ETH_ALEN);
+               memcpy(pwlanhdr->addr1, myid(&(padapter->eeprompriv)), ETH_ALEN);
                SetFrameSubType(pbuf, WIFI_PROBERSP);
        }
 
-       _rtw_memcpy(pwlanhdr->addr2, pnetwork->network.MacAddress, ETH_ALEN);
-       _rtw_memcpy(pwlanhdr->addr3, pnetwork->network.MacAddress, ETH_ALEN);
+       memcpy(pwlanhdr->addr2, pnetwork->network.MacAddress, ETH_ALEN);
+       memcpy(pwlanhdr->addr3, pnetwork->network.MacAddress, ETH_ALEN);
 
 
        pbuf += sizeof(struct rtw_ieee80211_hdr_3addr);
        len = sizeof (struct rtw_ieee80211_hdr_3addr);
 
-       _rtw_memcpy(pbuf, pnetwork->network.IEs, pnetwork->network.IELength);
+       memcpy(pbuf, pnetwork->network.IEs, pnetwork->network.IELength);
        len += pnetwork->network.IELength;
 
        //#ifdef CONFIG_P2P
@@ -625,9 +624,9 @@ static u8 set_pairwise_key(_adapter *padapter, struct sta_info *psta)
 
        psetstakey_para->algorithm = (u8)psta->dot118021XPrivacy;
 
-       _rtw_memcpy(psetstakey_para->addr, psta->hwaddr, ETH_ALEN);
+       memcpy(psetstakey_para->addr, psta->hwaddr, ETH_ALEN);
 
-       _rtw_memcpy(psetstakey_para->key, &psta->dot118021x_UncstKey, 16);
+       memcpy(psetstakey_para->key, &psta->dot118021x_UncstKey, 16);
 
 
        res = rtw_enqueue_cmd(pcmdpriv, ph2c);
@@ -661,7 +660,7 @@ static int set_group_key(_adapter *padapter, u8 *key, u8 alg, int keyid)
                goto exit;
        }
 
-       _rtw_memset(psetkeyparm, 0, sizeof(struct setkey_parm));
+       memset(psetkeyparm, 0, sizeof(struct setkey_parm));
 
        psetkeyparm->keyid=(u8)keyid;
        if (is_wep_enc(alg))
@@ -687,7 +686,7 @@ static int set_group_key(_adapter *padapter, u8 *key, u8 alg, int keyid)
                        keylen = 16;
        }
 
-       _rtw_memcpy(&(psetkeyparm->key[0]), key, keylen);
+       memcpy(&(psetkeyparm->key[0]), key, keylen);
 
        pcmd->cmdcode = _SetKey_CMD_;
        pcmd->parmbuf = (u8 *)psetkeyparm;
@@ -696,7 +695,7 @@ static int set_group_key(_adapter *padapter, u8 *key, u8 alg, int keyid)
        pcmd->rspsz = 0;
 
 
-       _rtw_init_listhead(&pcmd->list);
+       INIT_LIST_HEAD(&pcmd->list);
 
        res = rtw_enqueue_cmd(pcmdpriv, pcmd);
 
@@ -818,7 +817,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
                        psecuritypriv->dot11PrivacyKeyIndex = wep_key_idx;
                }
 
-               _rtw_memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), param->u.crypt.key, wep_key_len);
+               memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), param->u.crypt.key, wep_key_len);
 
                psecuritypriv->dot11DefKeylen[wep_key_idx] = wep_key_len;
 
@@ -837,7 +836,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
                        {
                                DBG_8723A("%s, set group_key, WEP\n", __FUNCTION__);
 
-                               _rtw_memcpy(psecuritypriv->dot118021XGrpKey[param->u.crypt.idx].skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
+                               memcpy(psecuritypriv->dot118021XGrpKey[param->u.crypt.idx].skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
 
                                psecuritypriv->dot118021XGrpPrivacy = _WEP40_;
                                if(param->u.crypt.key_len==13)
@@ -852,12 +851,12 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
 
                                psecuritypriv->dot118021XGrpPrivacy = _TKIP_;
 
-                               _rtw_memcpy(psecuritypriv->dot118021XGrpKey[param->u.crypt.idx].skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
+                               memcpy(psecuritypriv->dot118021XGrpKey[param->u.crypt.idx].skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
 
                                //DEBUG_ERR("set key length :param->u.crypt.key_len=%d\n", param->u.crypt.key_len);
                                //set mic key
-                               _rtw_memcpy(psecuritypriv->dot118021XGrptxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[16]), 8);
-                               _rtw_memcpy(psecuritypriv->dot118021XGrprxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[24]), 8);
+                               memcpy(psecuritypriv->dot118021XGrptxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[16]), 8);
+                               memcpy(psecuritypriv->dot118021XGrprxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[24]), 8);
 
                                psecuritypriv->busetkipkey = _TRUE;
 
@@ -868,7 +867,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
 
                                psecuritypriv->dot118021XGrpPrivacy = _AES_;
 
-                               _rtw_memcpy(psecuritypriv->dot118021XGrpKey[param->u.crypt.idx].skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
+                               memcpy(psecuritypriv->dot118021XGrpKey[param->u.crypt.idx].skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
                        }
                        else
                        {
@@ -904,7 +903,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
                {
                        if(param->u.crypt.set_tx ==1) //pairwise key
                        {
-                               _rtw_memcpy(psta->dot118021x_UncstKey.skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
+                               memcpy(psta->dot118021x_UncstKey.skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
 
                                if(strcmp(param->u.crypt.alg, "WEP") == 0)
                                {
@@ -924,8 +923,8 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
 
                                        //DEBUG_ERR("set key length :param->u.crypt.key_len=%d\n", param->u.crypt.key_len);
                                        //set mic key
-                                       _rtw_memcpy(psta->dot11tkiptxmickey.skey, &(param->u.crypt.key[16]), 8);
-                                       _rtw_memcpy(psta->dot11tkiprxmickey.skey, &(param->u.crypt.key[24]), 8);
+                                       memcpy(psta->dot11tkiptxmickey.skey, &(param->u.crypt.key[16]), 8);
+                                       memcpy(psta->dot11tkiprxmickey.skey, &(param->u.crypt.key[24]), 8);
 
                                        psecuritypriv->busetkipkey = _TRUE;
 
@@ -955,7 +954,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
                        {
                                if(strcmp(param->u.crypt.alg, "WEP") == 0)
                                {
-                                       _rtw_memcpy(psecuritypriv->dot118021XGrpKey[param->u.crypt.idx].skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
+                                       memcpy(psecuritypriv->dot118021XGrpKey[param->u.crypt.idx].skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
 
                                        psecuritypriv->dot118021XGrpPrivacy = _WEP40_;
                                        if(param->u.crypt.key_len==13)
@@ -967,12 +966,12 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
                                {
                                        psecuritypriv->dot118021XGrpPrivacy = _TKIP_;
 
-                                       _rtw_memcpy(psecuritypriv->dot118021XGrpKey[param->u.crypt.idx].skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
+                                       memcpy(psecuritypriv->dot118021XGrpKey[param->u.crypt.idx].skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
 
                                        //DEBUG_ERR("set key length :param->u.crypt.key_len=%d\n", param->u.crypt.key_len);
                                        //set mic key
-                                       _rtw_memcpy(psecuritypriv->dot118021XGrptxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[16]), 8);
-                                       _rtw_memcpy(psecuritypriv->dot118021XGrprxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[24]), 8);
+                                       memcpy(psecuritypriv->dot118021XGrptxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[16]), 8);
+                                       memcpy(psecuritypriv->dot118021XGrprxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[24]), 8);
 
                                        psecuritypriv->busetkipkey = _TRUE;
 
@@ -981,7 +980,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
                                {
                                        psecuritypriv->dot118021XGrpPrivacy = _AES_;
 
-                                       _rtw_memcpy(psecuritypriv->dot118021XGrpKey[param->u.crypt.idx].skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
+                                       memcpy(psecuritypriv->dot118021XGrpKey[param->u.crypt.idx].skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
                                }
                                else
                                {
@@ -1050,14 +1049,9 @@ _func_enter_;
                        goto exit;
                }
        } else {
-#ifdef CONFIG_WAPI_SUPPORT
-               if (strcmp(param->u.crypt.alg, "SMS4"))
-#endif
-               {
                ret = -EINVAL;
                goto exit;
        }
-       }
 
        if (strcmp(param->u.crypt.alg, "WEP") == 0)
        {
@@ -1092,7 +1086,7 @@ _func_enter_;
                        psecuritypriv->dot11PrivacyKeyIndex = wep_key_idx;
                }
 
-               _rtw_memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), param->u.crypt.key, wep_key_len);
+               memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), param->u.crypt.key, wep_key_len);
 
                psecuritypriv->dot11DefKeylen[wep_key_idx] = wep_key_len;
 
@@ -1133,13 +1127,13 @@ _func_enter_;
 
                                        DBG_8723A("%s, : param->u.crypt.set_tx ==1 \n", __func__);
 
-                                       _rtw_memcpy(psta->dot118021x_UncstKey.skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
+                                       memcpy(psta->dot118021x_UncstKey.skey,  param->u.crypt.key, (param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
 
                                        if(strcmp(param->u.crypt.alg, "TKIP") == 0)//set mic key
                                        {
                                                //DEBUG_ERR(("\nset key length :param->u.crypt.key_len=%d\n", param->u.crypt.key_len));
-                                               _rtw_memcpy(psta->dot11tkiptxmickey.skey, &(param->u.crypt.key[16]), 8);
-                                               _rtw_memcpy(psta->dot11tkiprxmickey.skey, &(param->u.crypt.key[24]), 8);
+                                               memcpy(psta->dot11tkiptxmickey.skey, &(param->u.crypt.key[16]), 8);
+                                               memcpy(psta->dot11tkiprxmickey.skey, &(param->u.crypt.key[24]), 8);
 
                                                padapter->securitypriv.busetkipkey=_FALSE;
                                                //_set_timer(&padapter->securitypriv.tkip_timer, 50);
@@ -1152,9 +1146,9 @@ _func_enter_;
                                }
                                else//group key
                                {
-                                       _rtw_memcpy(padapter->securitypriv.dot118021XGrpKey[param->u.crypt.idx].skey,  param->u.crypt.key,(param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
-                                       _rtw_memcpy(padapter->securitypriv.dot118021XGrptxmickey[param->u.crypt.idx].skey,&(param->u.crypt.key[16]),8);
-                                       _rtw_memcpy(padapter->securitypriv.dot118021XGrprxmickey[param->u.crypt.idx].skey,&(param->u.crypt.key[24]),8);
+                                       memcpy(padapter->securitypriv.dot118021XGrpKey[param->u.crypt.idx].skey,  param->u.crypt.key,(param->u.crypt.key_len>16 ?16:param->u.crypt.key_len));
+                                       memcpy(padapter->securitypriv.dot118021XGrptxmickey[param->u.crypt.idx].skey,&(param->u.crypt.key[16]),8);
+                                       memcpy(padapter->securitypriv.dot118021XGrprxmickey[param->u.crypt.idx].skey,&(param->u.crypt.key[24]),8);
                                         padapter->securitypriv.binstallGrpkey = _TRUE;
                                        //DEBUG_ERR((" param->u.crypt.key_len=%d\n", param->u.crypt.key_len));
                                        DBG_8723A(" ~~~~set sta key:groupkey\n");
@@ -1195,73 +1189,6 @@ _func_enter_;
                }
        }
 
-#ifdef CONFIG_WAPI_SUPPORT
-       if (strcmp(param->u.crypt.alg, "SMS4") == 0)
-       {
-               PRT_WAPI_T                      pWapiInfo = &padapter->wapiInfo;
-               PRT_WAPI_STA_INFO       pWapiSta;
-               u8                                      WapiASUEPNInitialValueSrc[16] = {0x36,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C} ;
-               u8                                      WapiAEPNInitialValueSrc[16] = {0x37,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C} ;
-               u8                                      WapiAEMultiCastPNInitialValueSrc[16] = {0x36,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C,0x36,0x5C} ;
-
-               if(param->u.crypt.set_tx == 1)
-               {
-                       list_for_each_entry(pWapiSta, &pWapiInfo->wapiSTAUsedList, list) {
-                               if(_rtw_memcmp(pWapiSta->PeerMacAddr,param->sta_addr,6))
-                               {
-                                       _rtw_memcpy(pWapiSta->lastTxUnicastPN,WapiASUEPNInitialValueSrc,16);
-
-                                       pWapiSta->wapiUsk.bSet = true;
-                                       _rtw_memcpy(pWapiSta->wapiUsk.dataKey,param->u.crypt.key,16);
-                                       _rtw_memcpy(pWapiSta->wapiUsk.micKey,param->u.crypt.key+16,16);
-                                       pWapiSta->wapiUsk.keyId = param->u.crypt.idx ;
-                                       pWapiSta->wapiUsk.bTxEnable = true;
-
-                                       _rtw_memcpy(pWapiSta->lastRxUnicastPNBEQueue,WapiAEPNInitialValueSrc,16);
-                                       _rtw_memcpy(pWapiSta->lastRxUnicastPNBKQueue,WapiAEPNInitialValueSrc,16);
-                                       _rtw_memcpy(pWapiSta->lastRxUnicastPNVIQueue,WapiAEPNInitialValueSrc,16);
-                                       _rtw_memcpy(pWapiSta->lastRxUnicastPNVOQueue,WapiAEPNInitialValueSrc,16);
-                                       _rtw_memcpy(pWapiSta->lastRxUnicastPN,WapiAEPNInitialValueSrc,16);
-                                       pWapiSta->wapiUskUpdate.bTxEnable = false;
-                                       pWapiSta->wapiUskUpdate.bSet = false;
-
-                                       if (psecuritypriv->sw_encrypt== false || psecuritypriv->sw_decrypt == false)
-                                       {
-                                               //set unicast key for ASUE
-                                               rtw_wapi_set_key(padapter, &pWapiSta->wapiUsk, pWapiSta, false, false);
-                                       }
-                               }
-                       }
-               }
-               else
-               {
-                       list_for_each_entry(pWapiSta, &pWapiInfo->wapiSTAUsedList, list) {
-                               if(_rtw_memcmp(pWapiSta->PeerMacAddr,get_bssid(pmlmepriv),6))
-                               {
-                                       pWapiSta->wapiMsk.bSet = true;
-                                       _rtw_memcpy(pWapiSta->wapiMsk.dataKey,param->u.crypt.key,16);
-                                       _rtw_memcpy(pWapiSta->wapiMsk.micKey,param->u.crypt.key+16,16);
-                                       pWapiSta->wapiMsk.keyId = param->u.crypt.idx ;
-                                       pWapiSta->wapiMsk.bTxEnable = false;
-                                       if(!pWapiSta->bSetkeyOk)
-                                               pWapiSta->bSetkeyOk = true;
-                                       pWapiSta->bAuthenticateInProgress = false;
-
-                                       _rtw_memcpy(pWapiSta->lastRxMulticastPN, WapiAEMultiCastPNInitialValueSrc, 16);
-
-                                       if (psecuritypriv->sw_decrypt == false)
-                                       {
-                                               //set rx broadcast key for ASUE
-                                               rtw_wapi_set_key(padapter, &pWapiSta->wapiMsk, pWapiSta, true, false);
-                                       }
-                               }
-
-                       }
-               }
-       }
-#endif
-
-
 exit:
 
        DBG_8723A("%s, ret=%d\n", __func__, ret);
@@ -1301,10 +1228,10 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev,
        if (param == NULL)
                return -1;
 
-       _rtw_memset(param, 0, param_len);
+       memset(param, 0, param_len);
 
        param->cmd = IEEE_CMD_SET_ENCRYPTION;
-       _rtw_memset(param->sta_addr, 0xff, ETH_ALEN);
+       memset(param->sta_addr, 0xff, ETH_ALEN);
 
        switch (params->cipher) {
        case IW_AUTH_CIPHER_NONE:
@@ -1323,22 +1250,6 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev,
                alg_name = "CCMP";
                break;
 
-#ifdef CONFIG_WAPI_SUPPORT
-       case WLAN_CIPHER_SUITE_SMS4:
-               alg_name= "SMS4";
-               if(pairwise == NL80211_KEYTYPE_PAIRWISE) {
-                       if (key_index != 0 && key_index != 1) {
-                               ret = -ENOTSUPP;
-                               goto addkey_end;
-                       }
-                       _rtw_memcpy((void*)param->sta_addr, (void*)mac_addr, ETH_ALEN);
-               } else {
-                       DBG_8723A("mac_addr is null \n");
-               }
-               DBG_8723A("rtw_wx_set_enc_ext: SMS4 case \n");
-               break;
-#endif
-
        default:
                ret = -ENOTSUPP;
                goto addkey_end;
@@ -1360,13 +1271,13 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev,
 
        if (params->seq_len && params->seq)
        {
-               _rtw_memcpy(param->u.crypt.seq, params->seq, params->seq_len);
+               memcpy(param->u.crypt.seq, params->seq, params->seq_len);
        }
 
        if(params->key_len && params->key)
        {
                param->u.crypt.key_len = params->key_len;
-               _rtw_memcpy(param->u.crypt.key, params->key, params->key_len);
+               memcpy(param->u.crypt.key, params->key, params->key_len);
        }
 
        if(check_fwstate(pmlmepriv, WIFI_STATION_STATE) == _TRUE)
@@ -1377,7 +1288,7 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev,
        {
 #ifdef CONFIG_AP_MODE
                if(mac_addr)
-                       _rtw_memcpy(param->sta_addr, (void*)mac_addr, ETH_ALEN);
+                       memcpy(param->sta_addr, (void*)mac_addr, ETH_ALEN);
 
                ret = rtw_cfg80211_ap_set_encryption(ndev, param, param_len);
 #endif
@@ -1529,7 +1440,7 @@ static int cfg80211_rtw_get_station(struct wiphy *wiphy,
        {
                struct wlan_network  *cur_network = &(pmlmepriv->cur_network);
 
-               if (_rtw_memcmp(mac, cur_network->network.MacAddress, ETH_ALEN) == _FALSE) {
+               if (memcmp(mac, cur_network->network.MacAddress, ETH_ALEN)) {
                        DBG_8723A("%s, mismatch bssid="MAC_FMT"\n", __func__, MAC_ARG(cur_network->network.MacAddress));
                        ret = -ENOENT;
                        goto exit;
@@ -1697,7 +1608,7 @@ void rtw_cfg80211_indicate_scan_done(struct rtw_wdev_priv *pwdev_priv, bool abor
 {
        _irqL   irqL;
 
-       _enter_critical_bh(&pwdev_priv->scan_req_lock, &irqL);
+       spin_lock_bh(&pwdev_priv->scan_req_lock);
        if(pwdev_priv->scan_request != NULL)
        {
                //struct cfg80211_scan_request *scan_request = pwdev_priv->scan_request;
@@ -1724,7 +1635,7 @@ void rtw_cfg80211_indicate_scan_done(struct rtw_wdev_priv *pwdev_priv, bool abor
                DBG_8723A("%s without scan req\n", __FUNCTION__);
                #endif
        }
-       _exit_critical_bh(&pwdev_priv->scan_req_lock, &irqL);
+       spin_unlock_bh(&pwdev_priv->scan_req_lock);
 }
 
 void rtw_cfg80211_surveydone_event_callback(_adapter *padapter)
@@ -1736,7 +1647,7 @@ void rtw_cfg80211_surveydone_event_callback(_adapter *padapter)
        struct  wlan_network    *pnetwork = NULL;
        u32 cnt=0;
        u32 wait_for_surveydone;
-       sint wait_status;
+       int wait_status;
 #ifdef CONFIG_P2P
        struct  wifidirect_info*        pwdinfo = &padapter->wdinfo;
 #endif //CONFIG_P2P
@@ -1747,7 +1658,7 @@ void rtw_cfg80211_surveydone_event_callback(_adapter *padapter)
        DBG_8723A("%s\n", __func__);
 #endif
 
-       _enter_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL);
+       spin_lock_bh(&(pmlmepriv->scanned_queue.lock));
 
        phead = get_list_head(queue);
        plist = get_next(phead);
@@ -1774,7 +1685,7 @@ void rtw_cfg80211_surveydone_event_callback(_adapter *padapter)
 
        }
 
-       _exit_critical_bh(&(pmlmepriv->scanned_queue.lock), &irqL);
+       spin_unlock_bh(&(pmlmepriv->scanned_queue.lock));
 
        //call this after other things have been done
        rtw_cfg80211_indicate_scan_done(wdev_to_priv(padapter->rtw_wdev), _FALSE);
@@ -1818,7 +1729,7 @@ static int rtw_cfg80211_set_probe_req_wpsp2pie(_adapter *padapter, char *buf, in
                                return -EINVAL;
 
                        }
-                       _rtw_memcpy(pmlmepriv->wps_probe_req_ie, wps_ie, wps_ielen);
+                       memcpy(pmlmepriv->wps_probe_req_ie, wps_ie, wps_ielen);
                        pmlmepriv->wps_probe_req_ie_len = wps_ielen;
                }
 
@@ -1847,7 +1758,7 @@ static int rtw_cfg80211_set_probe_req_wpsp2pie(_adapter *padapter, char *buf, in
                                return -EINVAL;
 
                        }
-                       _rtw_memcpy(pmlmepriv->p2p_probe_req_ie, p2p_ie, p2p_ielen);
+                       memcpy(pmlmepriv->p2p_probe_req_ie, p2p_ie, p2p_ielen);
                        pmlmepriv->p2p_probe_req_ie_len = p2p_ielen;
                }
                #endif //CONFIG_P2P
@@ -1929,9 +1840,9 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
        }
 #endif //CONFIG_CONCURRENT_MODE
 
-       _enter_critical_bh(&pwdev_priv->scan_req_lock, &irqL);
+       spin_lock_bh(&pwdev_priv->scan_req_lock);
        pwdev_priv->scan_request = request;
-       _exit_critical_bh(&pwdev_priv->scan_req_lock, &irqL);
+       spin_unlock_bh(&pwdev_priv->scan_req_lock);
 
        if (check_fwstate(pmlmepriv, WIFI_AP_STATE) == _TRUE)
        {
@@ -1949,11 +1860,9 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
        }
 
        #ifdef CONFIG_P2P
-       if(ssids->ssid != NULL
-               && _rtw_memcmp(ssids->ssid, "DIRECT-", 7)
-               && rtw_get_p2p_ie((u8 *)request->ie, request->ie_len, NULL, NULL)
-       )
-       {
+       if (ssids->ssid != NULL &&
+           !memcmp(ssids->ssid, "DIRECT-", 7) &&
+           rtw_get_p2p_ie((u8 *)request->ie, request->ie_len, NULL, NULL)) {
                if(rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE))
                {
                        rtw_p2p_enable(padapter, P2P_ROLE_DEVICE);
@@ -2044,19 +1953,19 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
 #endif //CONFIG_P2P
 
 
-       _rtw_memset(ssid, 0, sizeof(NDIS_802_11_SSID)*RTW_SSID_SCAN_AMOUNT);
+       memset(ssid, 0, sizeof(NDIS_802_11_SSID)*RTW_SSID_SCAN_AMOUNT);
        //parsing request ssids, n_ssids
        for (i = 0; i < request->n_ssids && i < RTW_SSID_SCAN_AMOUNT; i++) {
                #ifdef CONFIG_DEBUG_CFG80211
                DBG_8723A("ssid=%s, len=%d\n", ssids[i].ssid, ssids[i].ssid_len);
                #endif
-               _rtw_memcpy(ssid[i].Ssid, ssids[i].ssid, ssids[i].ssid_len);
+               memcpy(ssid[i].Ssid, ssids[i].ssid, ssids[i].ssid_len);
                ssid[i].SsidLength = ssids[i].ssid_len;
        }
 
 
        /* parsing channels, n_channels */
-       _rtw_memset(ch, 0, sizeof(struct rtw_ieee80211_channel)*RTW_CHANNEL_SCAN_AMOUNT);
+       memset(ch, 0, sizeof(struct rtw_ieee80211_channel)*RTW_CHANNEL_SCAN_AMOUNT);
        if (request->n_channels == 1)
        for (i=0;i<request->n_channels && i<RTW_CHANNEL_SCAN_AMOUNT;i++) {
                #ifdef CONFIG_DEBUG_CFG80211
@@ -2066,15 +1975,15 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
                ch[i].flags = request->channels[i]->flags;
        }
 
-       _enter_critical_bh(&pmlmepriv->lock, &irqL);
+       spin_lock_bh(&pmlmepriv->lock);
        if (request->n_channels == 1) {
-               _rtw_memcpy(&ch[1], &ch[0], sizeof(struct rtw_ieee80211_channel));
-               _rtw_memcpy(&ch[2], &ch[0], sizeof(struct rtw_ieee80211_channel));
+               memcpy(&ch[1], &ch[0], sizeof(struct rtw_ieee80211_channel));
+               memcpy(&ch[2], &ch[0], sizeof(struct rtw_ieee80211_channel));
                _status = rtw_sitesurvey_cmd(padapter, ssid, RTW_SSID_SCAN_AMOUNT, ch, 3);
        } else {
                _status = rtw_sitesurvey_cmd(padapter, ssid, RTW_SSID_SCAN_AMOUNT, NULL, 0);
        }
-       _exit_critical_bh(&pmlmepriv->lock, &irqL);
+       spin_unlock_bh(&pmlmepriv->lock);
 
 
        if(_status == _FALSE)
@@ -2211,11 +2120,6 @@ static int rtw_cfg80211_set_auth_type(struct security_priv *psecuritypriv,
                if(psecuritypriv->ndisauthtype>Ndis802_11AuthModeWPA)
                        psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_8021X;
 
-#ifdef CONFIG_WAPI_SUPPORT
-               if(psecuritypriv->ndisauthtype == Ndis802_11AuthModeWAPI)
-                       psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_WAPI;
-#endif
-
                break;
        case NL80211_AUTHTYPE_SHARED_KEY:
 
@@ -2254,12 +2158,6 @@ static int rtw_cfg80211_set_cipher(struct security_priv *psecuritypriv, u32 ciph
        case IW_AUTH_CIPHER_NONE:
                *profile_cipher = _NO_PRIVACY_;
                ndisencryptstatus = Ndis802_11EncryptionDisabled;
-#ifdef CONFIG_WAPI_SUPPORT
-               if(psecuritypriv->dot11PrivacyAlgrthm ==_SMS4_ )
-               {
-                       *profile_cipher = _SMS4_;
-               }
-#endif
                break;
        case WLAN_CIPHER_SUITE_WEP40:
                *profile_cipher = _WEP40_;
@@ -2277,12 +2175,6 @@ static int rtw_cfg80211_set_cipher(struct security_priv *psecuritypriv, u32 ciph
                *profile_cipher = _AES_;
                ndisencryptstatus = Ndis802_11Encryption3Enabled;
                break;
-#ifdef CONFIG_WAPI_SUPPORT
-       case WLAN_CIPHER_SUITE_SMS4:
-               *profile_cipher = _SMS4_;
-               ndisencryptstatus = Ndis802_11_EncrypteionWAPI;
-               break;
-#endif
        default:
                DBG_8723A("Unsupported cipher: 0x%x\n", cipher);
                return -ENOTSUPP;
@@ -2308,18 +2200,7 @@ static int rtw_cfg80211_set_key_mgt(struct security_priv *psecuritypriv, u32 key
                psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_8021X;
        else if (key_mgt == WLAN_AKM_SUITE_PSK) {
                psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_8021X;
-       }
-#ifdef CONFIG_WAPI_SUPPORT
-       else if(key_mgt ==WLAN_AKM_SUITE_WAPI_PSK){
-               psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_WAPI;
-       }
-       else if(key_mgt ==WLAN_AKM_SUITE_WAPI_CERT){
-               psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_WAPI;
-       }
-#endif
-
-
-       else {
+       } else {
                DBG_8723A("Invalid key mgt: 0x%x\n", key_mgt);
                //return -EINVAL;
        }
@@ -2355,7 +2236,7 @@ static int rtw_cfg80211_set_wpa_ie(_adapter *padapter, u8 *pie, size_t ielen)
                goto exit;
        }
 
-       _rtw_memcpy(buf, pie , ielen);
+       memcpy(buf, pie , ielen);
 
        //dump
        {
@@ -2379,7 +2260,7 @@ static int rtw_cfg80211_set_wpa_ie(_adapter *padapter, u8 *pie, size_t ielen)
                {
                        padapter->securitypriv.dot11AuthAlgrthm= dot11AuthAlgrthm_8021X;
                        padapter->securitypriv.ndisauthtype=Ndis802_11AuthModeWPAPSK;
-                       _rtw_memcpy(padapter->securitypriv.supplicant_ie, &pwpa[0], wpa_ielen+2);
+                       memcpy(padapter->securitypriv.supplicant_ie, &pwpa[0], wpa_ielen+2);
 
                        DBG_8723A("got wpa_ie, wpa_ielen:%u\n", wpa_ielen);
                }
@@ -2392,7 +2273,7 @@ static int rtw_cfg80211_set_wpa_ie(_adapter *padapter, u8 *pie, size_t ielen)
                {
                        padapter->securitypriv.dot11AuthAlgrthm= dot11AuthAlgrthm_8021X;
                        padapter->securitypriv.ndisauthtype=Ndis802_11AuthModeWPA2PSK;
-                       _rtw_memcpy(padapter->securitypriv.supplicant_ie, &pwpa2[0], wpa2_ielen+2);
+                       memcpy(padapter->securitypriv.supplicant_ie, &pwpa2[0], wpa2_ielen+2);
 
                        DBG_8723A("got wpa2_ie, wpa2_ielen:%u\n", wpa2_ielen);
                }
@@ -2463,7 +2344,7 @@ static int rtw_cfg80211_set_wpa_ie(_adapter *padapter, u8 *pie, size_t ielen)
                if (wps_ie && wps_ielen > 0) {
                        DBG_8723A("got wps_ie, wps_ielen:%u\n", wps_ielen);
                        padapter->securitypriv.wps_ie_len = wps_ielen<MAX_WPS_IE_LEN?wps_ielen:MAX_WPS_IE_LEN;
-                       _rtw_memcpy(padapter->securitypriv.wps_ie, wps_ie, padapter->securitypriv.wps_ie_len);
+                       memcpy(padapter->securitypriv.wps_ie, wps_ie, padapter->securitypriv.wps_ie_len);
                        set_fwstate(&padapter->mlmepriv, WIFI_UNDER_WPS);
                } else {
                        _clr_fwstate_(&padapter->mlmepriv, WIFI_UNDER_WPS);
@@ -2496,7 +2377,7 @@ static int rtw_cfg80211_set_wpa_ie(_adapter *padapter, u8 *pie, size_t ielen)
                                DBG_8723A("%s()-%d: kmalloc() ERROR!\n", __FUNCTION__, __LINE__);
                                goto exit;
                        }
-                       _rtw_memcpy(pmlmepriv->p2p_assoc_req_ie, p2p_ie, p2p_ielen);
+                       memcpy(pmlmepriv->p2p_assoc_req_ie, p2p_ie, p2p_ielen);
                        pmlmepriv->p2p_assoc_req_ie_len = p2p_ielen;
                }
        }
@@ -2618,9 +2499,9 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
        }
 
 
-       _rtw_memset(&ndis_ssid, 0, sizeof(NDIS_802_11_SSID));
+       memset(&ndis_ssid, 0, sizeof(NDIS_802_11_SSID));
        ndis_ssid.SsidLength = sme->ssid_len;
-       _rtw_memcpy(ndis_ssid.Ssid, sme->ssid, sme->ssid_len);
+       memcpy(ndis_ssid.Ssid, sme->ssid, sme->ssid_len);
 
        DBG_8723A("ssid=%s, len=%zu\n", ndis_ssid.Ssid, sme->ssid_len);
 
@@ -2638,7 +2519,7 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
                rtw_scan_abort(padapter);
        }
 
-       _enter_critical_bh(&queue->lock, &irqL);
+       spin_lock_bh(&queue->lock);
 
        phead = get_list_head(queue);
        pmlmepriv->pscanned = get_next(phead);
@@ -2657,14 +2538,15 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
                dst_bssid = pnetwork->network.MacAddress;
 
                if(sme->bssid)  {
-                       if(_rtw_memcmp(pnetwork->network.MacAddress, sme->bssid, ETH_ALEN) == _FALSE)
+                       if (memcmp(pnetwork->network.MacAddress,
+                                  sme->bssid, ETH_ALEN))
                                continue;
                }
 
                if(sme->ssid && sme->ssid_len) {
-                       if(     pnetwork->network.Ssid.SsidLength != sme->ssid_len
-                               || _rtw_memcmp(pnetwork->network.Ssid.Ssid, sme->ssid, sme->ssid_len) == _FALSE
-                       )
+                       if (pnetwork->network.Ssid.SsidLength != sme->ssid_len||
+                            memcmp(pnetwork->network.Ssid.Ssid, sme->ssid,
+                                   sme->ssid_len))
                                continue;
                }
 
@@ -2673,12 +2555,12 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
                {
                        src_bssid = sme->bssid;
 
-                       if ((_rtw_memcmp(dst_bssid, src_bssid, ETH_ALEN)) == _TRUE)
+                       if ((!memcmp(dst_bssid, src_bssid, ETH_ALEN)))
                        {
                                DBG_8723A("matched by bssid\n");
 
                                ndis_ssid.SsidLength = pnetwork->network.Ssid.SsidLength;
-                               _rtw_memcpy(ndis_ssid.Ssid, pnetwork->network.Ssid.Ssid, pnetwork->network.Ssid.SsidLength);
+                               memcpy(ndis_ssid.Ssid, pnetwork->network.Ssid.Ssid, pnetwork->network.Ssid.SsidLength);
 
                                matched=_TRUE;
                                break;
@@ -2689,7 +2571,7 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
                {
                        src_ssid = ndis_ssid.Ssid;
 
-                       if ((_rtw_memcmp(dst_ssid, src_ssid, ndis_ssid.SsidLength) == _TRUE) &&
+                       if ((!memcmp(dst_ssid, src_ssid, ndis_ssid.SsidLength)) &&
                                (pnetwork->network.Ssid.SsidLength==ndis_ssid.SsidLength))
                        {
                                DBG_8723A("matched by ssid\n");
@@ -2700,7 +2582,7 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
 
        }
 
-       _exit_critical_bh(&queue->lock, &irqL);
+       spin_unlock_bh(&queue->lock);
 
        if((matched == _FALSE) || (pnetwork== NULL))
        {
@@ -2722,31 +2604,12 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
        psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_Open; //open system
        psecuritypriv->ndisauthtype = Ndis802_11AuthModeOpen;
 
-#ifdef CONFIG_WAPI_SUPPORT
-        padapter->wapiInfo.bWapiEnable = false;
-#endif
-
        ret = rtw_cfg80211_set_wpa_version(psecuritypriv, sme->crypto.wpa_versions);
        if (ret < 0)
                goto exit;
 
-#ifdef CONFIG_WAPI_SUPPORT
-       if(sme->crypto.wpa_versions & NL80211_WAPI_VERSION_1)
-       {
-               padapter->wapiInfo.bWapiEnable = true;
-               padapter->wapiInfo.extra_prefix_len = WAPI_EXT_LEN;
-               padapter->wapiInfo.extra_postfix_len = SMS4_MIC_LEN;
-       }
-#endif
-
        ret = rtw_cfg80211_set_auth_type(psecuritypriv, sme->auth_type);
 
-#ifdef CONFIG_WAPI_SUPPORT
-       if(psecuritypriv->dot11AuthAlgrthm == dot11AuthAlgrthm_WAPI)
-               padapter->mlmeextpriv.mlmext_info.auth_algo = psecuritypriv->dot11AuthAlgrthm;
-#endif
-
-
        if (ret < 0)
                goto exit;
 
@@ -2791,7 +2654,7 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
                                goto exit;
                        }
 
-                       _rtw_memset(pwep, 0, wep_total_len);
+                       memset(pwep, 0, wep_total_len);
 
                        pwep->KeyLength = wep_key_len;
                        pwep->Length = wep_total_len;
@@ -2810,7 +2673,7 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
                pwep->KeyIndex = wep_key_idx;
                pwep->KeyIndex |= 0x80000000;
 
-               _rtw_memcpy(pwep->KeyMaterial,  (void *)sme->key, pwep->KeyLength);
+               memcpy(pwep->KeyMaterial,  (void *)sme->key, pwep->KeyLength);
 
                if(rtw_set_802_11_add_wep(padapter, pwep) == (u8)_FAIL)
                {
@@ -2835,15 +2698,6 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
                        goto exit;
        }
 
-#ifdef CONFIG_WAPI_SUPPORT
-      if(sme->crypto.akm_suites[0] ==WLAN_AKM_SUITE_WAPI_PSK){
-               padapter->wapiInfo.bWapiPSK = true;
-       }
-       else if(sme->crypto.akm_suites[0] ==WLAN_AKM_SUITE_WAPI_CERT){
-             padapter->wapiInfo.bWapiPSK = false;
-       }
-#endif
-
        authmode = psecuritypriv->ndisauthtype;
        rtw_set_802_11_authentication_mode(padapter, authmode);
 
@@ -2983,7 +2837,7 @@ static int cfg80211_rtw_set_pmksa(struct wiphy *wiphy,
 
        DBG_8723A(FUNC_NDEV_FMT"\n", FUNC_NDEV_ARG(netdev));
 
-       if ( _rtw_memcmp( pmksa->bssid, strZeroMacAddress, ETH_ALEN ) == _TRUE )
+       if (!memcmp(pmksa->bssid, strZeroMacAddress, ETH_ALEN))
        {
                return -EINVAL;
        }
@@ -2993,11 +2847,12 @@ static int cfg80211_rtw_set_pmksa(struct wiphy *wiphy,
        //overwrite PMKID
        for(index=0 ; index<NUM_PMKID_CACHE; index++)
        {
-               if( _rtw_memcmp( psecuritypriv->PMKIDList[index].Bssid, pmksa->bssid, ETH_ALEN) ==_TRUE )
-               { // BSSID is matched, the same AP => rewrite with new PMKID.
+               if (!memcmp(psecuritypriv->PMKIDList[index].Bssid,
+                          pmksa->bssid, ETH_ALEN)) {
+                       /* BSSID is matched, the same AP => rewrite with new PMKID. */
                        DBG_8723A(FUNC_NDEV_FMT" BSSID exists in the PMKList.\n", FUNC_NDEV_ARG(netdev));
 
-                       _rtw_memcpy( psecuritypriv->PMKIDList[index].PMKID, pmksa->pmkid, WLAN_PMKID_LEN);
+                       memcpy(psecuritypriv->PMKIDList[index].PMKID, pmksa->pmkid, WLAN_PMKID_LEN);
                        psecuritypriv->PMKIDList[index].bUsed = _TRUE;
                        psecuritypriv->PMKIDIndex = index+1;
                        blInserted = _TRUE;
@@ -3011,8 +2866,8 @@ static int cfg80211_rtw_set_pmksa(struct wiphy *wiphy,
                DBG_8723A(FUNC_NDEV_FMT" Use the new entry index = %d for this PMKID.\n",
                        FUNC_NDEV_ARG(netdev), psecuritypriv->PMKIDIndex );
 
-               _rtw_memcpy(psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].Bssid, pmksa->bssid, ETH_ALEN);
-               _rtw_memcpy(psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].PMKID, pmksa->pmkid, WLAN_PMKID_LEN);
+               memcpy(psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].Bssid, pmksa->bssid, ETH_ALEN);
+               memcpy(psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].PMKID, pmksa->pmkid, WLAN_PMKID_LEN);
 
                psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].bUsed = _TRUE;
                psecuritypriv->PMKIDIndex++ ;
@@ -3037,10 +2892,11 @@ static int cfg80211_rtw_del_pmksa(struct wiphy *wiphy,
 
        for(index=0 ; index<NUM_PMKID_CACHE; index++)
        {
-               if( _rtw_memcmp( psecuritypriv->PMKIDList[index].Bssid, pmksa->bssid, ETH_ALEN) ==_TRUE )
-               { // BSSID is matched, the same AP => Remove this PMKID information and reset it.
-                       _rtw_memset( psecuritypriv->PMKIDList[index].Bssid, 0x00, ETH_ALEN );
-                       _rtw_memset( psecuritypriv->PMKIDList[index].PMKID, 0x00, WLAN_PMKID_LEN );
+               if (!memcmp(psecuritypriv->PMKIDList[index].Bssid,
+                           pmksa->bssid, ETH_ALEN)) {
+                       /* BSSID is matched, the same AP => Remove this PMKID information and reset it. */
+                       memset(psecuritypriv->PMKIDList[index].Bssid, 0x00, ETH_ALEN);
+                       memset(psecuritypriv->PMKIDList[index].PMKID, 0x00, WLAN_PMKID_LEN);
                        psecuritypriv->PMKIDList[index].bUsed = _FALSE;
                        bMatched = _TRUE;
                        break;
@@ -3065,7 +2921,7 @@ static int cfg80211_rtw_flush_pmksa(struct wiphy *wiphy,
 
        DBG_8723A(FUNC_NDEV_FMT"\n", FUNC_NDEV_ARG(netdev));
 
-       _rtw_memset( &psecuritypriv->PMKIDList[ 0 ], 0x00, sizeof( RT_PMKID_LIST ) * NUM_PMKID_CACHE );
+       memset(&psecuritypriv->PMKIDList[0], 0x00, sizeof(RT_PMKID_LIST) * NUM_PMKID_CACHE);
        psecuritypriv->PMKIDIndex = 0;
 
        return 0;
@@ -3153,11 +3009,11 @@ void rtw_cfg80211_indicate_sta_disassoc(_adapter *padapter, unsigned char *da, u
        fctrl = &(pwlanhdr->frame_ctl);
        *(fctrl) = 0;
 
-       //_rtw_memcpy(pwlanhdr->addr1, da, ETH_ALEN);
-       //_rtw_memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN);
-       _rtw_memcpy(pwlanhdr->addr1, myid(&(padapter->eeprompriv)), ETH_ALEN);
-       _rtw_memcpy(pwlanhdr->addr2, da, ETH_ALEN);
-       _rtw_memcpy(pwlanhdr->addr3, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN);
+       //memcpy(pwlanhdr->addr1, da, ETH_ALEN);
+       //memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN);
+       memcpy(pwlanhdr->addr1, myid(&(padapter->eeprompriv)), ETH_ALEN);
+       memcpy(pwlanhdr->addr2, da, ETH_ALEN);
+       memcpy(pwlanhdr->addr3, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN);
 
        SetSeqNum(pwlanhdr, pmlmeext->mgnt_seq);
        pmlmeext->mgnt_seq++;
@@ -3313,11 +3169,11 @@ dump:
                update_mgntframe_attrib(padapter, pattrib);
                pattrib->retry_ctrl = _FALSE;
 
-               _rtw_memset(pmgntframe->buf_addr, 0, WLANHDR_OFFSET + TXDESC_OFFSET);
+               memset(pmgntframe->buf_addr, 0, WLANHDR_OFFSET + TXDESC_OFFSET);
 
                pframe = (u8 *)(pmgntframe->buf_addr) + TXDESC_OFFSET;
 
-               _rtw_memcpy(pframe, (void*)buf, len);
+               memcpy(pframe, (void*)buf, len);
                #ifdef CONFIG_WFD
                if (type >= 0)
                {
@@ -3373,7 +3229,6 @@ static int rtw_cfg80211_monitor_if_set_mac_address(struct net_device *ndev, void
        return ret;
 }
 
-#if (LINUX_VERSION_CODE>=KERNEL_VERSION(2,6,29))
 static const struct net_device_ops rtw_cfg80211_monitor_if_ops = {
        .ndo_open = rtw_cfg80211_monitor_if_open,
        .ndo_stop = rtw_cfg80211_monitor_if_close,
@@ -3383,7 +3238,6 @@ static const struct net_device_ops rtw_cfg80211_monitor_if_ops = {
        #endif
        .ndo_set_mac_address = rtw_cfg80211_monitor_if_set_mac_address,
 };
-#endif
 
 static int rtw_cfg80211_add_monitor_if(_adapter *padapter, char *name, struct net_device **ndev)
 {
@@ -3418,14 +3272,7 @@ static int rtw_cfg80211_add_monitor_if(_adapter *padapter, char *name, struct ne
        mon_ndev->name[IFNAMSIZ - 1] = 0;
        mon_ndev->destructor = rtw_ndev_destructor;
 
-#if (LINUX_VERSION_CODE>=KERNEL_VERSION(2,6,29))
        mon_ndev->netdev_ops = &rtw_cfg80211_monitor_if_ops;
-#else
-       mon_ndev->open = rtw_cfg80211_monitor_if_open;
-       mon_ndev->stop = rtw_cfg80211_monitor_if_close;
-       mon_ndev->hard_start_xmit = rtw_cfg80211_monitor_if_xmit_entry;
-       mon_ndev->set_mac_address = rtw_cfg80211_monitor_if_set_mac_address;
-#endif
 
        pnpi = netdev_priv(mon_ndev);
        pnpi->priv = padapter;
@@ -3451,7 +3298,7 @@ static int rtw_cfg80211_add_monitor_if(_adapter *padapter, char *name, struct ne
        }
 
        *ndev = pwdev_priv->pmon_ndev = mon_ndev;
-       _rtw_memcpy(pwdev_priv->ifname_mon, name, IFNAMSIZ+1);
+       memcpy(pwdev_priv->ifname_mon, name, IFNAMSIZ+1);
 
 out:
        if (ret && mon_wdev) {
@@ -3587,14 +3434,14 @@ static int rtw_add_beacon(_adapter *adapter, const u8 *head, size_t head_len, co
                return -ENOMEM;
 
 
-       //_rtw_memcpy(&pstapriv->max_num_sta, param->u.bcn_ie.reserved, 2);
+       //memcpy(&pstapriv->max_num_sta, param->u.bcn_ie.reserved, 2);
 
        //if((pstapriv->max_num_sta>NUM_STA) || (pstapriv->max_num_sta<=0))
        //      pstapriv->max_num_sta = NUM_STA;
 
 
-       _rtw_memcpy(pbuf, (void *)head+24, head_len-24);// 24=beacon header len.
-       _rtw_memcpy(pbuf+head_len-24, (void *)tail, tail_len);
+       memcpy(pbuf, (void *)head+24, head_len-24);// 24=beacon header len.
+       memcpy(pbuf+head_len-24, (void *)tail, tail_len);
 
        len = head_len+tail_len-24;
 
@@ -3719,9 +3566,9 @@ static int cfg80211_rtw_start_ap(struct wiphy *wiphy, struct net_device *ndev,
                        settings->ssid, settings->ssid_len,
                        pbss_network->Ssid.Ssid, pbss_network->Ssid.SsidLength);
 
-               _rtw_memcpy(pbss_network->Ssid.Ssid, (void *)settings->ssid, settings->ssid_len);
+               memcpy(pbss_network->Ssid.Ssid, (void *)settings->ssid, settings->ssid_len);
                pbss_network->Ssid.SsidLength = settings->ssid_len;
-               _rtw_memcpy(pbss_network_ext->Ssid.Ssid, (void *)settings->ssid, settings->ssid_len);
+               memcpy(pbss_network_ext->Ssid.Ssid, (void *)settings->ssid, settings->ssid_len);
                pbss_network_ext->Ssid.SsidLength = settings->ssid_len;
 
                if(0)
@@ -3805,7 +3652,7 @@ static int        cfg80211_rtw_del_station(struct wiphy *wiphy, struct net_device *ndev
        }
 
 
-       _enter_critical_bh(&pstapriv->asoc_list_lock, &irqL);
+       spin_lock_bh(&pstapriv->asoc_list_lock);
 
        phead = &pstapriv->asoc_list;
        plist = get_next(phead);
@@ -3817,7 +3664,7 @@ static int        cfg80211_rtw_del_station(struct wiphy *wiphy, struct net_device *ndev
 
                plist = get_next(plist);
 
-               if(_rtw_memcmp(mac, psta->hwaddr, ETH_ALEN))
+               if (!memcmp(mac, psta->hwaddr, ETH_ALEN))
                {
                        if(psta->dot8021xalg == 1 && psta->bpairwise_key_installed == _FALSE)
                        {
@@ -3827,12 +3674,12 @@ static int      cfg80211_rtw_del_station(struct wiphy *wiphy, struct net_device *ndev
                        {
                                DBG_8723A("free psta=%p, aid=%d\n", psta, psta->aid);
 
-                               rtw_list_delete(&psta->asoc_list);
+                               list_del_init(&psta->asoc_list);
                                pstapriv->asoc_list_cnt--;
 
-                               //_exit_critical_bh(&pstapriv->asoc_list_lock, &irqL);
+                               //spin_unlock_bh(&pstapriv->asoc_list_lock);
                                updated = ap_free_sta(padapter, psta, _TRUE, WLAN_REASON_DEAUTH_LEAVING);
-                               //_enter_critical_bh(&pstapriv->asoc_list_lock, &irqL);
+                               //spin_lock_bh(&pstapriv->asoc_list_lock);
 
                                psta = NULL;
 
@@ -3843,7 +3690,7 @@ static int        cfg80211_rtw_del_station(struct wiphy *wiphy, struct net_device *ndev
 
        }
 
-       _exit_critical_bh(&pstapriv->asoc_list_lock, &irqL);
+       spin_unlock_bh(&pstapriv->asoc_list_lock);
 
        associated_clients_update(padapter, updated);
 
@@ -4065,8 +3912,8 @@ void rtw_cfg80211_issue_p2p_provision_request(_adapter *padapter, const u8 *buf,
        DBG_8723A( "[%s] In\n", __FUNCTION__ );
 
        //prepare for building provision_request frame
-       _rtw_memcpy(pwdinfo->tx_prov_disc_info.peerIFAddr, GetAddr1Ptr(buf), ETH_ALEN);
-       _rtw_memcpy(pwdinfo->tx_prov_disc_info.peerDevAddr, GetAddr1Ptr(buf), ETH_ALEN);
+       memcpy(pwdinfo->tx_prov_disc_info.peerIFAddr, GetAddr1Ptr(buf), ETH_ALEN);
+       memcpy(pwdinfo->tx_prov_disc_info.peerDevAddr, GetAddr1Ptr(buf), ETH_ALEN);
 
        pwdinfo->tx_prov_disc_info.wps_config_method_request = WPS_CM_PUSH_BUTTON;
 
@@ -4107,8 +3954,8 @@ void rtw_cfg80211_issue_p2p_provision_request(_adapter *padapter, const u8 *buf,
 
 
        //start to build provision_request frame
-       _rtw_memset(wpsie, 0, sizeof(wpsie));
-       _rtw_memset(p2p_ie, 0, sizeof(p2p_ie));
+       memset(wpsie, 0, sizeof(wpsie));
+       memset(p2p_ie, 0, sizeof(p2p_ie));
        p2p_ielen = 0;
 
        if ((pmgntframe = alloc_mgtxmitframe(pxmitpriv)) == NULL)
@@ -4121,7 +3968,7 @@ void rtw_cfg80211_issue_p2p_provision_request(_adapter *padapter, const u8 *buf,
        pattrib = &pmgntframe->attrib;
        update_mgntframe_attrib(padapter, pattrib);
 
-       _rtw_memset(pmgntframe->buf_addr, 0, WLANHDR_OFFSET + TXDESC_OFFSET);
+       memset(pmgntframe->buf_addr, 0, WLANHDR_OFFSET + TXDESC_OFFSET);
 
        pframe = (u8 *)(pmgntframe->buf_addr) + TXDESC_OFFSET;
        pwlanhdr = (struct rtw_ieee80211_hdr *)pframe;
@@ -4129,9 +3976,9 @@ void rtw_cfg80211_issue_p2p_provision_request(_adapter *padapter, const u8 *buf,
        fctrl = &(pwlanhdr->frame_ctl);
        *(fctrl) = 0;
 
-       _rtw_memcpy(pwlanhdr->addr1, pwdinfo->tx_prov_disc_info.peerDevAddr, ETH_ALEN);
-       _rtw_memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN);
-       _rtw_memcpy(pwlanhdr->addr3, pwdinfo->tx_prov_disc_info.peerDevAddr, ETH_ALEN);
+       memcpy(pwlanhdr->addr1, pwdinfo->tx_prov_disc_info.peerDevAddr, ETH_ALEN);
+       memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN);
+       memcpy(pwlanhdr->addr3, pwdinfo->tx_prov_disc_info.peerDevAddr, ETH_ALEN);
 
        SetSeqNum(pwlanhdr, pmlmeext->mgnt_seq);
        pmlmeext->mgnt_seq++;
@@ -4173,7 +4020,7 @@ void rtw_cfg80211_issue_p2p_provision_request(_adapter *padapter, const u8 *buf,
        //      Value:
        //      Device Capability Bitmap, 1 byte
        //      Group Capability Bitmap, 1 byte
-       _rtw_memcpy(p2p_ie + p2pielen, &capability, 2);
+       memcpy(p2p_ie + p2pielen, &capability, 2);
        p2pielen += 2;
 
 
@@ -4189,7 +4036,7 @@ void rtw_cfg80211_issue_p2p_provision_request(_adapter *padapter, const u8 *buf,
        p2pielen += 2;
 
        //      Value:
-       _rtw_memcpy(p2p_ie + p2pielen, devinfo_content, devinfo_contentlen);
+       memcpy(p2p_ie + p2pielen, devinfo_content, devinfo_contentlen);
        p2pielen += devinfo_contentlen;
 
 
@@ -4281,7 +4128,7 @@ static s32 cfg80211_rtw_remain_on_channel(struct wiphy *wiphy,
                _cancel_timer_ex(&padapter->cfg80211_wdinfo.remain_on_ch_timer);
 
 #ifdef CONFIG_CONCURRENT_MODE
-                ATOMIC_SET(&pwdev_priv->ro_ch_to, 1);
+                atomic_set(&pwdev_priv->ro_ch_to, 1);
 #endif //CONFIG_CONCURRENT_MODE
 
                p2p_protocol_wk_hdl(padapter, P2P_RO_CH_WK);
@@ -4294,7 +4141,7 @@ static s32 cfg80211_rtw_remain_on_channel(struct wiphy *wiphy,
                goto exit;
        }
 
-       _rtw_memcpy(&pcfg80211_wdinfo->remain_on_ch_channel, channel, sizeof(struct ieee80211_channel));
+       memcpy(&pcfg80211_wdinfo->remain_on_ch_channel, channel, sizeof(struct ieee80211_channel));
        #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0))
        pcfg80211_wdinfo->remain_on_ch_type= channel_type;
        #endif
@@ -4347,13 +4194,13 @@ static s32 cfg80211_rtw_remain_on_channel(struct wiphy *wiphy,
 
                        if(remain_ch != pbuddy_mlmeext->cur_channel)
                        {
-                               if(ATOMIC_READ(&pwdev_priv->switch_ch_to)==1 ||
+                               if(atomic_read(&pwdev_priv->switch_ch_to)==1 ||
                                        (remain_ch != pmlmeext->cur_channel))
                                {
                                        DBG_8723A("%s, issue nulldata pwrbit=1\n", __func__);
                                        issue_nulldata(padapter->pbuddy_adapter, NULL, 1, 3, 500);
 
-                                       ATOMIC_SET(&pwdev_priv->switch_ch_to, 0);
+                                       atomic_set(&pwdev_priv->switch_ch_to, 0);
 
                                        DBG_8723A("%s, set switch ch timer, duration=%d\n", __func__, duration-pwdinfo->ext_listen_interval);
                                        _set_timer(&pwdinfo->ap_p2p_switch_timer, duration-pwdinfo->ext_listen_interval);
@@ -4378,11 +4225,11 @@ static s32 cfg80211_rtw_remain_on_channel(struct wiphy *wiphy,
 
        //call this after other things have been done
 #ifdef CONFIG_CONCURRENT_MODE
-       if(ATOMIC_READ(&pwdev_priv->ro_ch_to)==1 ||
+       if(atomic_read(&pwdev_priv->ro_ch_to)==1 ||
                (remain_ch != pmlmeext->cur_channel))
        {
                u8 co_channel = 0xff;
-               ATOMIC_SET(&pwdev_priv->ro_ch_to, 0);
+               atomic_set(&pwdev_priv->ro_ch_to, 0);
 #endif
 
                if(ready_on_channel == _TRUE)
@@ -4434,7 +4281,7 @@ static s32 cfg80211_rtw_cancel_remain_on_channel(struct wiphy *wiphy,
                DBG_8723A("%s, cancel ro ch timer\n", __func__);
                _cancel_timer_ex(&padapter->cfg80211_wdinfo.remain_on_ch_timer);
                #ifdef CONFIG_CONCURRENT_MODE
-               ATOMIC_SET(&pwdev_priv->ro_ch_to, 1);
+               atomic_set(&pwdev_priv->ro_ch_to, 1);
                #endif
                p2p_protocol_wk_hdl(padapter, P2P_RO_CH_WK);
        }
@@ -4450,7 +4297,7 @@ static s32 cfg80211_rtw_cancel_remain_on_channel(struct wiphy *wiphy,
                        _cancel_timer_ex( &pwdinfo->pre_tx_scan_timer);
 
                        rtw_p2p_set_state(pwdinfo, P2P_STATE_NONE);
-                       _rtw_memset(pwdinfo, 0x00, sizeof(struct wifidirect_info));
+                       memset(pwdinfo, 0x00, sizeof(struct wifidirect_info));
                }
        }
        else
@@ -4515,11 +4362,11 @@ static int _cfg80211_rtw_mgmt_tx(_adapter *padapter, u8 tx_ch, const u8 *buf, si
                co_channel = rtw_get_oper_ch(padapter);
 
                if (tx_ch != pbuddy_mlmeext->cur_channel) {
-                       if (ATOMIC_READ(&pwdev_priv->switch_ch_to)==1) {
+                       if (atomic_read(&pwdev_priv->switch_ch_to)==1) {
                                DBG_8723A("%s, issue nulldata pwrbit=1\n", __func__);
                                issue_nulldata(padapter->pbuddy_adapter, NULL, 1, 3, 500);
 
-                               ATOMIC_SET(&pwdev_priv->switch_ch_to, 0);
+                               atomic_set(&pwdev_priv->switch_ch_to, 0);
 
                                //DBG_8723A("%s, set switch ch timer, period=%d\n", __func__, pwdinfo->ext_listen_period);
                                //_set_timer(&pwdinfo->ap_p2p_switch_timer, pwdinfo->ext_listen_period);
@@ -4556,11 +4403,11 @@ static int _cfg80211_rtw_mgmt_tx(_adapter *padapter, u8 tx_ch, const u8 *buf, si
        update_mgntframe_attrib(padapter, pattrib);
        pattrib->retry_ctrl = _FALSE;
 
-       _rtw_memset(pmgntframe->buf_addr, 0, WLANHDR_OFFSET + TXDESC_OFFSET);
+       memset(pmgntframe->buf_addr, 0, WLANHDR_OFFSET + TXDESC_OFFSET);
 
        pframe = (u8 *)(pmgntframe->buf_addr) + TXDESC_OFFSET;
 
-       _rtw_memcpy(pframe, (void*)buf, len);
+       memcpy(pframe, (void*)buf, len);
        pattrib->pktlen = len;
 
        pwlanhdr = (struct rtw_ieee80211_hdr *)pframe;
@@ -4789,7 +4636,7 @@ static int rtw_cfg80211_set_beacon_wpsp2pie(struct net_device *ndev, char *buf,
 
                        }
 
-                       _rtw_memcpy(pmlmepriv->wps_beacon_ie, wps_ie, wps_ielen);
+                       memcpy(pmlmepriv->wps_beacon_ie, wps_ie, wps_ielen);
                        pmlmepriv->wps_beacon_ie_len = wps_ielen;
 
                        update_beacon(padapter, _VENDOR_SPECIFIC_IE_, wps_oui, _TRUE);
@@ -4822,7 +4669,7 @@ static int rtw_cfg80211_set_beacon_wpsp2pie(struct net_device *ndev, char *buf,
 
                        }
 
-                       _rtw_memcpy(pmlmepriv->p2p_beacon_ie, p2p_ie, p2p_ielen);
+                       memcpy(pmlmepriv->p2p_beacon_ie, p2p_ie, p2p_ielen);
                        pmlmepriv->p2p_beacon_ie_len = p2p_ielen;
 
                }
@@ -4919,7 +4766,7 @@ static int rtw_cfg80211_set_probe_resp_wpsp2pie(struct net_device *net, char *bu
                                *puconfig_method |= uconfig_method;
                        }
 
-                       _rtw_memcpy(pmlmepriv->wps_probe_resp_ie, wps_ie, wps_ielen);
+                       memcpy(pmlmepriv->wps_probe_resp_ie, wps_ie, wps_ielen);
                        pmlmepriv->wps_probe_resp_ie_len = wps_ielen;
 
                }
@@ -4969,7 +4816,7 @@ static int rtw_cfg80211_set_probe_resp_wpsp2pie(struct net_device *net, char *bu
                                        return -EINVAL;
 
                                }
-                               _rtw_memcpy(pmlmepriv->p2p_probe_resp_ie, p2p_ie, p2p_ielen);
+                               memcpy(pmlmepriv->p2p_probe_resp_ie, p2p_ie, p2p_ielen);
                                pmlmepriv->p2p_probe_resp_ie_len = p2p_ielen;
                        }
                        else
@@ -4988,7 +4835,7 @@ static int rtw_cfg80211_set_probe_resp_wpsp2pie(struct net_device *net, char *bu
                                        return -EINVAL;
 
                                }
-                               _rtw_memcpy(pmlmepriv->p2p_go_probe_resp_ie, p2p_ie, p2p_ielen);
+                               memcpy(pmlmepriv->p2p_go_probe_resp_ie, p2p_ie, p2p_ielen);
                                pmlmepriv->p2p_go_probe_resp_ie_len = p2p_ielen;
                        }
 
@@ -5053,7 +4900,7 @@ static int rtw_cfg80211_set_assoc_resp_wpsp2pie(struct net_device *net, char *bu
                        return -EINVAL;
 
                }
-               _rtw_memcpy(pmlmepriv->wps_assoc_resp_ie, buf, len);
+               memcpy(pmlmepriv->wps_assoc_resp_ie, buf, len);
                pmlmepriv->wps_assoc_resp_ie_len = len;
        }
 
@@ -5167,8 +5014,8 @@ static void rtw_cfg80211_init_ht_capab(struct ieee80211_sta_ht_cap *ht_cap, enum
        ht_cap->ht_supported = _TRUE;
 
        ht_cap->cap = IEEE80211_HT_CAP_SUP_WIDTH_20_40 |
-                                       IEEE80211_HT_CAP_SGI_40 | IEEE80211_HT_CAP_SGI_20 |
-                                       IEEE80211_HT_CAP_DSSSCCK40 | IEEE80211_HT_CAP_MAX_AMSDU;
+               IEEE80211_HT_CAP_SGI_40 | IEEE80211_HT_CAP_SGI_20 |
+               IEEE80211_HT_CAP_DSSSCCK40 | IEEE80211_HT_CAP_MAX_AMSDU;
 
        /*
         *Maximum length of AMPDU that the STA can receive.
@@ -5373,7 +5220,7 @@ int rtw_wdev_alloc(_adapter *padapter, struct device *dev)
        pwdev_priv->ifname_mon[0] = '\0';
        pwdev_priv->padapter = padapter;
        pwdev_priv->scan_request = NULL;
-       _rtw_spinlock_init(&pwdev_priv->scan_req_lock);
+       spin_lock_init(&pwdev_priv->scan_req_lock);
 
        pwdev_priv->p2p_enabled = _FALSE;
        pwdev_priv->provdisc_req_issued = _FALSE;
@@ -5387,8 +5234,8 @@ int rtw_wdev_alloc(_adapter *padapter, struct device *dev)
                pwdev_priv->power_mgmt = _FALSE;
 
 #ifdef CONFIG_CONCURRENT_MODE
-       ATOMIC_SET(&pwdev_priv->switch_ch_to, 1);
-       ATOMIC_SET(&pwdev_priv->ro_ch_to, 1);
+       atomic_set(&pwdev_priv->switch_ch_to, 1);
+       atomic_set(&pwdev_priv->ro_ch_to, 1);
 #endif
 
        return ret;