]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/staging/rtl8188eu/core/rtw_cmd.c
staging: rtl8188eu: Remove unused function rtw_c2h_wk_cmd()
[karo-tx-linux.git] / drivers / staging / rtl8188eu / core / rtw_cmd.c
index 1e0b8b49fc1270c0073a440f1b282a4e89ff1b2f..514d931724e81ad734b7fbdba066a26a382b874c 100644 (file)
@@ -24,7 +24,6 @@
 #include <recv_osdep.h>
 #include <cmd_osdep.h>
 #include <mlme_osdep.h>
-#include <rtw_br_ext.h>
 #include <rtw_mlme_ext.h>
 
 /*
@@ -48,7 +47,7 @@ int _rtw_init_cmd_priv(struct cmd_priv *pcmdpriv)
 
        pcmdpriv->cmd_seq = 1;
 
-       pcmdpriv->cmd_allocated_buf = rtw_zmalloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ);
+       pcmdpriv->cmd_allocated_buf = kzalloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ, GFP_KERNEL);
 
        if (pcmdpriv->cmd_allocated_buf == NULL) {
                res = _FAIL;
@@ -57,7 +56,7 @@ int _rtw_init_cmd_priv(struct cmd_priv *pcmdpriv)
 
        pcmdpriv->cmd_buf = pcmdpriv->cmd_allocated_buf  +  CMDBUFF_ALIGN_SZ - ((size_t)(pcmdpriv->cmd_allocated_buf) & (CMDBUFF_ALIGN_SZ-1));
 
-       pcmdpriv->rsp_allocated_buf = rtw_zmalloc(MAX_RSPSZ + 4);
+       pcmdpriv->rsp_allocated_buf = kzalloc(MAX_RSPSZ + 4, GFP_KERNEL);
 
        if (pcmdpriv->rsp_allocated_buf == NULL) {
                res = _FAIL;
@@ -73,43 +72,6 @@ exit:
        return res;
 }
 
-static void c2h_wk_callback(struct work_struct *work);
-
-int _rtw_init_evt_priv(struct evt_priv *pevtpriv)
-{
-       int res = _SUCCESS;
-
-
-       /* allocate DMA-able/Non-Page memory for cmd_buf and rsp_buf */
-       atomic_set(&pevtpriv->event_seq, 0);
-       pevtpriv->evt_done_cnt = 0;
-
-       INIT_WORK(&pevtpriv->c2h_wk, c2h_wk_callback);
-       pevtpriv->c2h_wk_alive = false;
-       pevtpriv->c2h_queue = rtw_cbuf_alloc(C2H_QUEUE_MAX_LEN+1);
-
-
-       return res;
-}
-
-void rtw_free_evt_priv(struct evt_priv *pevtpriv)
-{
-
-       RT_TRACE(_module_rtl871x_cmd_c_, _drv_info_, ("+rtw_free_evt_priv\n"));
-
-       _cancel_workitem_sync(&pevtpriv->c2h_wk);
-       while (pevtpriv->c2h_wk_alive)
-               msleep(10);
-
-       while (!rtw_cbuf_empty(pevtpriv->c2h_queue)) {
-               void *c2h = rtw_cbuf_pop(pevtpriv->c2h_queue);
-               if (c2h != NULL && c2h != (void *)pevtpriv)
-                       kfree(c2h);
-       }
-       RT_TRACE(_module_rtl871x_cmd_c_, _drv_info_, ("-rtw_free_evt_priv\n"));
-
-}
-
 void _rtw_free_cmd_priv(struct cmd_priv *pcmdpriv)
 {
 
@@ -139,7 +101,7 @@ int _rtw_enqueue_cmd(struct __queue *queue, struct cmd_obj *obj)
 
        spin_lock_irqsave(&queue->lock, irqL);
 
-       rtw_list_insert_tail(&obj->list, &queue->queue);
+       list_add_tail(&obj->list, &queue->queue);
 
        spin_unlock_irqrestore(&queue->lock, irqL);
 
@@ -156,11 +118,11 @@ struct    cmd_obj *_rtw_dequeue_cmd(struct __queue *queue)
 
 
        spin_lock_irqsave(&queue->lock, irqL);
-       if (rtw_is_list_empty(&(queue->queue))) {
+       if (list_empty(&(queue->queue))) {
                obj = NULL;
        } else {
                obj = container_of((&queue->queue)->next, struct cmd_obj, list);
-               rtw_list_delete(&obj->list);
+               list_del_init(&obj->list);
        }
 
        spin_unlock_irqrestore(&queue->lock, irqL);
@@ -176,13 +138,6 @@ u32 rtw_init_cmd_priv(struct cmd_priv *pcmdpriv)
        return res;
 }
 
-u32 rtw_init_evt_priv(struct evt_priv *pevtpriv)
-{
-       int res;
-       res = _rtw_init_evt_priv(pevtpriv);
-       return res;
-}
-
 void rtw_free_cmd_priv(struct cmd_priv *pcmdpriv)
 {
        RT_TRACE(_module_rtl871x_cmd_c_, _drv_info_, ("rtw_free_cmd_priv\n"));
@@ -286,8 +241,7 @@ int rtw_cmd_thread(void *context)
        struct adapter *padapter = (struct adapter *)context;
        struct cmd_priv *pcmdpriv = &(padapter->cmdpriv);
 
-
-       thread_enter("RTW_CMD_THREAD");
+       allow_signal(SIGTERM);
 
        pcmdbuf = pcmdpriv->cmd_buf;
 
@@ -325,7 +279,7 @@ _next:
 
                pcmdpriv->cmd_issued_cnt++;
 
-               pcmd->cmdsz = _RND4((pcmd->cmdsz));/* _RND4 */
+               pcmd->cmdsz = round_up(pcmd->cmdsz, 4);
 
                memcpy(pcmdbuf, pcmd->parmbuf, pcmd->cmdsz);
 
@@ -361,7 +315,8 @@ post_process:
                        rtw_free_cmd_obj(pcmd);
                }
 
-               flush_signals_thread();
+               if (signal_pending(current))
+                       flush_signals(current);
 
                goto _next;
        }
@@ -435,14 +390,11 @@ u8 rtw_sitesurvey_cmd(struct adapter  *padapter, struct ndis_802_11_ssid *ssid,
        if (check_fwstate(pmlmepriv, _FW_LINKED) == true)
                rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_SCAN, 1);
 
-       if (check_fwstate(pmlmepriv, _FW_LINKED) == true)
-               p2p_ps_wk_cmd(padapter, P2P_PS_SCAN, 1);
-
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL)
                return _FAIL;
 
-       psurveyPara = (struct sitesurvey_parm *)rtw_zmalloc(sizeof(struct sitesurvey_parm));
+       psurveyPara = kzalloc(sizeof(struct sitesurvey_parm), GFP_KERNEL);
        if (psurveyPara == NULL) {
                kfree(ph2c);
                return _FAIL;
@@ -507,13 +459,13 @@ u8 rtw_setdatarate_cmd(struct adapter *padapter, u8 *rateset)
        u8      res = _SUCCESS;
 
 
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = _FAIL;
                goto exit;
        }
 
-       pbsetdataratepara = (struct setdatarate_parm *)rtw_zmalloc(sizeof(struct setdatarate_parm));
+       pbsetdataratepara = kzalloc(sizeof(struct setdatarate_parm), GFP_KERNEL);
        if (pbsetdataratepara == NULL) {
                kfree(ph2c);
                res = _FAIL;
@@ -538,12 +490,12 @@ u8 rtw_setbasicrate_cmd(struct adapter *padapter, u8 *rateset)
        u8      res = _SUCCESS;
 
 
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = _FAIL;
                goto exit;
        }
-       pssetbasicratepara = (struct setbasicrate_parm *)rtw_zmalloc(sizeof(struct setbasicrate_parm));
+       pssetbasicratepara = kzalloc(sizeof(struct setbasicrate_parm), GFP_KERNEL);
 
        if (pssetbasicratepara == NULL) {
                kfree(ph2c);
@@ -578,12 +530,12 @@ u8 rtw_setphy_cmd(struct adapter *padapter, u8 modem, u8 ch)
        u8      res = _SUCCESS;
 
 
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = _FAIL;
                goto exit;
                }
-       psetphypara = (struct setphy_parm *)rtw_zmalloc(sizeof(struct setphy_parm));
+       psetphypara = kzalloc(sizeof(struct setphy_parm), GFP_KERNEL);
 
        if (psetphypara == NULL) {
                kfree(ph2c);
@@ -610,12 +562,12 @@ u8 rtw_setbbreg_cmd(struct adapter *padapter, u8 offset, u8 val)
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8      res = _SUCCESS;
 
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = _FAIL;
                goto exit;
                }
-       pwritebbparm = (struct writeBB_parm *)rtw_zmalloc(sizeof(struct writeBB_parm));
+       pwritebbparm = kzalloc(sizeof(struct writeBB_parm), GFP_KERNEL);
 
        if (pwritebbparm == NULL) {
                kfree(ph2c);
@@ -640,19 +592,19 @@ u8 rtw_getbbreg_cmd(struct adapter  *padapter, u8 offset, u8 *pval)
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8      res = _SUCCESS;
 
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = _FAIL;
                goto exit;
                }
-       prdbbparm = (struct readBB_parm *)rtw_zmalloc(sizeof(struct readBB_parm));
+       prdbbparm = kzalloc(sizeof(struct readBB_parm), GFP_KERNEL);
 
        if (prdbbparm == NULL) {
                kfree(ph2c);
                return _FAIL;
        }
 
-       _rtw_init_listhead(&ph2c->list);
+       INIT_LIST_HEAD(&ph2c->list);
        ph2c->cmdcode = GEN_CMD_CODE(_GetBBReg);
        ph2c->parmbuf = (unsigned char *)prdbbparm;
        ph2c->cmdsz =  sizeof(struct readBB_parm);
@@ -672,12 +624,12 @@ u8 rtw_setrfreg_cmd(struct adapter  *padapter, u8 offset, u32 val)
        struct writeRF_parm *pwriterfparm;
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8      res = _SUCCESS;
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = _FAIL;
                goto exit;
        }
-       pwriterfparm = (struct writeRF_parm *)rtw_zmalloc(sizeof(struct writeRF_parm));
+       pwriterfparm = kzalloc(sizeof(struct writeRF_parm), GFP_KERNEL);
 
        if (pwriterfparm == NULL) {
                kfree(ph2c);
@@ -703,20 +655,20 @@ u8 rtw_getrfreg_cmd(struct adapter  *padapter, u8 offset, u8 *pval)
        u8      res = _SUCCESS;
 
 
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = _FAIL;
                goto exit;
        }
 
-       prdrfparm = (struct readRF_parm *)rtw_zmalloc(sizeof(struct readRF_parm));
+       prdrfparm = kzalloc(sizeof(struct readRF_parm), GFP_KERNEL);
        if (prdrfparm == NULL) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
        }
 
-       _rtw_init_listhead(&ph2c->list);
+       INIT_LIST_HEAD(&ph2c->list);
        ph2c->cmdcode = GEN_CMD_CODE(_GetRFReg);
        ph2c->parmbuf = (unsigned char *)prdrfparm;
        ph2c->cmdsz =  sizeof(struct readRF_parm);
@@ -739,8 +691,6 @@ void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter,  struct cmd_obj *p
        kfree(pcmd->parmbuf);
        kfree(pcmd);
 
-       if (padapter->registrypriv.mp_mode == 1)
-               padapter->mppriv.workparam.bcompleted = true;
 }
 
 void rtw_readtssi_cmdrsp_callback(struct adapter *padapter,  struct cmd_obj *pcmd)
@@ -748,9 +698,6 @@ void rtw_readtssi_cmdrsp_callback(struct adapter *padapter,  struct cmd_obj *pcm
 
        kfree(pcmd->parmbuf);
        kfree(pcmd);
-
-       if (padapter->registrypriv.mp_mode == 1)
-               padapter->mppriv.workparam.bcompleted = true;
 }
 
 u8 rtw_createbss_cmd(struct adapter  *padapter)
@@ -769,13 +716,13 @@ u8 rtw_createbss_cmd(struct adapter  *padapter)
        else
                RT_TRACE(_module_rtl871x_cmd_c_, _drv_info_, (" createbss for SSid:%s\n", pmlmepriv->assoc_ssid.Ssid));
 
-       pcmd = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       pcmd = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (pcmd == NULL) {
                res = _FAIL;
                goto exit;
        }
 
-       _rtw_init_listhead(&pcmd->list);
+       INIT_LIST_HEAD(&pcmd->list);
        pcmd->cmdcode = _CreateBss_CMD_;
        pcmd->parmbuf = (unsigned char *)pdev_network;
        pcmd->cmdsz = get_wlan_bssid_ex_sz((struct wlan_bssid_ex *)pdev_network);
@@ -796,13 +743,13 @@ u8 rtw_createbss_cmd_ex(struct adapter  *padapter, unsigned char *pbss, unsigned
        u8      res = _SUCCESS;
 
 
-       pcmd = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       pcmd = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (pcmd == NULL) {
                res = _FAIL;
                goto exit;
        }
 
-       _rtw_init_listhead(&pcmd->list);
+       INIT_LIST_HEAD(&pcmd->list);
        pcmd->cmdcode = GEN_CMD_CODE(_CreateBss);
        pcmd->parmbuf = pbss;
        pcmd->cmdsz =  sz;
@@ -841,7 +788,7 @@ u8 rtw_joinbss_cmd(struct adapter  *padapter, struct wlan_network *pnetwork)
        else
                RT_TRACE(_module_rtl871x_cmd_c_, _drv_notice_, ("+Join cmd: SSid =[%s]\n", pmlmepriv->assoc_ssid.Ssid));
 
-       pcmd = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       pcmd = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (pcmd == NULL) {
                res = _FAIL;
                RT_TRACE(_module_rtl871x_cmd_c_, _drv_err_, ("rtw_joinbss_cmd: memory allocate for cmd_obj fail!!!\n"));
@@ -879,7 +826,7 @@ u8 rtw_joinbss_cmd(struct adapter  *padapter, struct wlan_network *pnetwork)
                goto exit;
        }
 
-       _rtw_memset(psecnetwork, 0, t_len);
+       memset(psecnetwork, 0, t_len);
 
        memcpy(psecnetwork, &pnetwork->network, get_wlan_bssid_ex_sz(&pnetwork->network));
 
@@ -945,7 +892,7 @@ u8 rtw_joinbss_cmd(struct adapter  *padapter, struct wlan_network *pnetwork)
 
        pcmd->cmdsz = get_wlan_bssid_ex_sz(psecnetwork);/* get cmdsz before endian conversion */
 
-       _rtw_init_listhead(&pcmd->list);
+       INIT_LIST_HEAD(&pcmd->list);
        pcmd->cmdcode = _JoinBss_CMD_;/* GEN_CMD_CODE(_JoinBss) */
        pcmd->parmbuf = (unsigned char *)psecnetwork;
        pcmd->rsp = NULL;
@@ -970,7 +917,7 @@ u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueu
        RT_TRACE(_module_rtl871x_cmd_c_, _drv_notice_, ("+rtw_disassoc_cmd\n"));
 
        /* prepare cmd parameter */
-       param = (struct disconnect_parm *)rtw_zmalloc(sizeof(*param));
+       param = kzalloc(sizeof(*param), GFP_KERNEL);
        if (param == NULL) {
                res = _FAIL;
                goto exit;
@@ -979,7 +926,7 @@ u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueu
 
        if (enqueue) {
                /* need enqueue, prepare cmd_obj and enqueue */
-               cmdobj = (struct cmd_obj *)rtw_zmalloc(sizeof(*cmdobj));
+               cmdobj = kzalloc(sizeof(*cmdobj), GFP_KERNEL);
                if (cmdobj == NULL) {
                        res = _FAIL;
                        kfree(param);
@@ -1009,12 +956,12 @@ u8 rtw_setopmode_cmd(struct adapter  *padapter, enum ndis_802_11_network_infra n
        u8      res = _SUCCESS;
 
 
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = false;
                goto exit;
        }
-       psetop = (struct setopmode_parm *)rtw_zmalloc(sizeof(struct setopmode_parm));
+       psetop = kzalloc(sizeof(struct setopmode_parm), GFP_KERNEL);
 
        if (psetop == NULL) {
                kfree(ph2c);
@@ -1046,20 +993,20 @@ u8 rtw_setstakey_cmd(struct adapter *padapter, u8 *psta, u8 unicast_key)
        u8      res = _SUCCESS;
 
 
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = _FAIL;
                goto exit;
        }
 
-       psetstakey_para = (struct set_stakey_parm *)rtw_zmalloc(sizeof(struct set_stakey_parm));
+       psetstakey_para = kzalloc(sizeof(struct set_stakey_parm), GFP_KERNEL);
        if (psetstakey_para == NULL) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
        }
 
-       psetstakey_rsp = (struct set_stakey_rsp *)rtw_zmalloc(sizeof(struct set_stakey_rsp));
+       psetstakey_rsp = kzalloc(sizeof(struct set_stakey_rsp), GFP_KERNEL);
        if (psetstakey_rsp == NULL) {
                kfree(ph2c);
                kfree(psetstakey_para);
@@ -1107,20 +1054,20 @@ u8 rtw_clearstakey_cmd(struct adapter *padapter, u8 *psta, u8 entry, u8 enqueue)
        if (!enqueue) {
                clear_cam_entry(padapter, entry);
        } else {
-               ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+               ph2c = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
                if (ph2c == NULL) {
                        res = _FAIL;
                        goto exit;
                }
 
-               psetstakey_para = (struct set_stakey_parm *)rtw_zmalloc(sizeof(struct set_stakey_parm));
+               psetstakey_para = kzalloc(sizeof(struct set_stakey_parm), GFP_ATOMIC);
                if (psetstakey_para == NULL) {
                        kfree(ph2c);
                        res = _FAIL;
                        goto exit;
                }
 
-               psetstakey_rsp = (struct set_stakey_rsp *)rtw_zmalloc(sizeof(struct set_stakey_rsp));
+               psetstakey_rsp = kzalloc(sizeof(struct set_stakey_rsp), GFP_ATOMIC);
                if (psetstakey_rsp == NULL) {
                        kfree(ph2c);
                        kfree(psetstakey_para);
@@ -1153,12 +1100,12 @@ u8 rtw_setrttbl_cmd(struct adapter  *padapter, struct setratable_parm *prate_tab
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8      res = _SUCCESS;
 
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = _FAIL;
                goto exit;
        }
-       psetrttblparm = (struct setratable_parm *)rtw_zmalloc(sizeof(struct setratable_parm));
+       psetrttblparm = kzalloc(sizeof(struct setratable_parm), GFP_KERNEL);
 
        if (psetrttblparm == NULL) {
                kfree(ph2c);
@@ -1175,40 +1122,6 @@ exit:
        return res;
 }
 
-u8 rtw_getrttbl_cmd(struct adapter  *padapter, struct getratable_rsp *pval)
-{
-       struct cmd_obj *ph2c;
-       struct getratable_parm *pgetrttblparm;
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-       u8      res = _SUCCESS;
-
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
-               res = _FAIL;
-               goto exit;
-       }
-       pgetrttblparm = (struct getratable_parm *)rtw_zmalloc(sizeof(struct getratable_parm));
-
-       if (pgetrttblparm == NULL) {
-               kfree(ph2c);
-               res = _FAIL;
-               goto exit;
-       }
-
-       _rtw_init_listhead(&ph2c->list);
-       ph2c->cmdcode = GEN_CMD_CODE(_GetRaTable);
-       ph2c->parmbuf = (unsigned char *)pgetrttblparm;
-       ph2c->cmdsz =  sizeof(struct getratable_parm);
-       ph2c->rsp = (u8 *)pval;
-       ph2c->rspsz = sizeof(struct getratable_rsp);
-
-       pgetrttblparm->rsvd = 0x0;
-
-       res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-exit:
-       return res;
-}
-
 u8 rtw_setassocsta_cmd(struct adapter  *padapter, u8 *mac_addr)
 {
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
@@ -1219,20 +1132,20 @@ u8 rtw_setassocsta_cmd(struct adapter  *padapter, u8 *mac_addr)
        u8      res = _SUCCESS;
 
 
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = _FAIL;
                goto exit;
        }
 
-       psetassocsta_para = (struct set_assocsta_parm *)rtw_zmalloc(sizeof(struct set_assocsta_parm));
+       psetassocsta_para = kzalloc(sizeof(struct set_assocsta_parm), GFP_KERNEL);
        if (psetassocsta_para == NULL) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
        }
 
-       psetassocsta_rsp = (struct set_stakey_rsp *)rtw_zmalloc(sizeof(struct set_assocsta_rsp));
+       psetassocsta_rsp = kzalloc(sizeof(struct set_assocsta_rsp), GFP_KERNEL);
        if (psetassocsta_rsp == NULL) {
                kfree(ph2c);
                kfree(psetassocsta_para);
@@ -1261,13 +1174,13 @@ u8 rtw_addbareq_cmd(struct adapter *padapter, u8 tid, u8 *addr)
        u8      res = _SUCCESS;
 
 
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = _FAIL;
                goto exit;
        }
 
-       paddbareq_parm = (struct addBaReq_parm *)rtw_zmalloc(sizeof(struct addBaReq_parm));
+       paddbareq_parm = kzalloc(sizeof(struct addBaReq_parm), GFP_KERNEL);
        if (paddbareq_parm == NULL) {
                kfree(ph2c);
                res = _FAIL;
@@ -1298,13 +1211,13 @@ u8 rtw_dynamic_chk_wk_cmd(struct adapter *padapter)
        u8      res = _SUCCESS;
 
 
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = _FAIL;
                goto exit;
        }
 
-       pdrvextra_cmd_parm = (struct drvextra_cmd_parm *)rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+       pdrvextra_cmd_parm = kzalloc(sizeof(struct drvextra_cmd_parm), GFP_KERNEL);
        if (pdrvextra_cmd_parm == NULL) {
                kfree(ph2c);
                res = _FAIL;
@@ -1339,7 +1252,7 @@ u8 rtw_set_ch_cmd(struct adapter *padapter, u8 ch, u8 bw, u8 ch_offset, u8 enque
        /* check input parameter */
 
        /* prepare cmd parameter */
-       set_ch_parm = (struct set_ch_parm *)rtw_zmalloc(sizeof(*set_ch_parm));
+       set_ch_parm = kzalloc(sizeof(*set_ch_parm), GFP_KERNEL);
        if (set_ch_parm == NULL) {
                res = _FAIL;
                goto exit;
@@ -1350,7 +1263,7 @@ u8 rtw_set_ch_cmd(struct adapter *padapter, u8 ch, u8 bw, u8 ch_offset, u8 enque
 
        if (enqueue) {
                /* need enqueue, prepare cmd_obj and enqueue */
-               pcmdobj = (struct cmd_obj *)rtw_zmalloc(sizeof(struct   cmd_obj));
+               pcmdobj = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
                if (pcmdobj == NULL) {
                        kfree(set_ch_parm);
                        res = _FAIL;
@@ -1395,7 +1308,7 @@ u8 rtw_set_chplan_cmd(struct adapter *padapter, u8 chplan, u8 enqueue)
        }
 
        /* prepare cmd parameter */
-       setChannelPlan_param = (struct  SetChannelPlan_param *)rtw_zmalloc(sizeof(struct SetChannelPlan_param));
+       setChannelPlan_param = kzalloc(sizeof(struct SetChannelPlan_param), GFP_KERNEL);
        if (setChannelPlan_param == NULL) {
                res = _FAIL;
                goto exit;
@@ -1404,7 +1317,7 @@ u8 rtw_set_chplan_cmd(struct adapter *padapter, u8 chplan, u8 enqueue)
 
        if (enqueue) {
                /* need enqueue, prepare cmd_obj and enqueue */
-               pcmdobj = (struct cmd_obj *)rtw_zmalloc(sizeof(struct   cmd_obj));
+               pcmdobj = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
                if (pcmdobj == NULL) {
                        kfree(setChannelPlan_param);
                        res = _FAIL;
@@ -1442,13 +1355,13 @@ u8 rtw_set_csa_cmd(struct adapter *padapter, u8 new_ch_no)
 
        RT_TRACE(_module_rtl871x_cmd_c_, _drv_notice_, ("+rtw_set_csa_cmd\n"));
 
-       pcmdobj = (struct cmd_obj *)rtw_zmalloc(sizeof(struct   cmd_obj));
+       pcmdobj = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (pcmdobj == NULL) {
                res = _FAIL;
                goto exit;
        }
 
-       setChannelSwitch_param = (struct SetChannelSwitch_param *)rtw_zmalloc(sizeof(struct     SetChannelSwitch_param));
+       setChannelSwitch_param = kzalloc(sizeof(struct  SetChannelSwitch_param), GFP_KERNEL);
        if (setChannelSwitch_param == NULL) {
                kfree(pcmdobj);
                res = _FAIL;
@@ -1542,8 +1455,6 @@ static void dynamic_chk_wk_hdl(struct adapter *padapter, u8 *pbuf, int sz)
                expire_timeout_chk(padapter);
 #endif
 
-       rtw_hal_sreset_xmit_status_check(padapter);
-
        linked_status_chk(padapter);
        traffic_status_watchdog(padapter);
 
@@ -1605,13 +1516,13 @@ u8 rtw_lps_ctrl_wk_cmd(struct adapter *padapter, u8 lps_ctrl_type, u8 enqueue)
        u8      res = _SUCCESS;
 
        if (enqueue) {
-               ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+               ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
                if (ph2c == NULL) {
                        res = _FAIL;
                        goto exit;
                }
 
-               pdrvextra_cmd_parm = (struct drvextra_cmd_parm *)rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+               pdrvextra_cmd_parm = kzalloc(sizeof(struct drvextra_cmd_parm), GFP_KERNEL);
                if (pdrvextra_cmd_parm == NULL) {
                        kfree(ph2c);
                        res = _FAIL;
@@ -1648,13 +1559,13 @@ u8 rtw_rpt_timer_cfg_cmd(struct adapter *padapter, u16 min_time)
 
        u8      res = _SUCCESS;
 
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = _FAIL;
                goto exit;
        }
 
-       pdrvextra_cmd_parm = (struct drvextra_cmd_parm *)rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+       pdrvextra_cmd_parm = kzalloc(sizeof(struct drvextra_cmd_parm), GFP_KERNEL);
        if (pdrvextra_cmd_parm == NULL) {
                kfree(ph2c);
                res = _FAIL;
@@ -1690,13 +1601,13 @@ u8 rtw_antenna_select_cmd(struct adapter *padapter, u8 antenna, u8 enqueue)
                return res;
 
        if (enqueue) {
-               ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+               ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
                if (ph2c == NULL) {
                        res = _FAIL;
                        goto exit;
                }
 
-               pdrvextra_cmd_parm = (struct drvextra_cmd_parm *)rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+               pdrvextra_cmd_parm = kzalloc(sizeof(struct drvextra_cmd_parm), GFP_KERNEL);
                if (pdrvextra_cmd_parm == NULL) {
                        kfree(ph2c);
                        res = _FAIL;
@@ -1723,47 +1634,6 @@ static void power_saving_wk_hdl(struct adapter *padapter, u8 *pbuf, int sz)
         rtw_ps_processor(padapter);
 }
 
-#ifdef CONFIG_88EU_P2P
-u8 p2p_protocol_wk_cmd(struct adapter *padapter, int intCmdType)
-{
-       struct cmd_obj  *ph2c;
-       struct drvextra_cmd_parm        *pdrvextra_cmd_parm;
-       struct wifidirect_info  *pwdinfo = &(padapter->wdinfo);
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-       u8      res = _SUCCESS;
-
-
-       if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE))
-               return res;
-
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
-               res = _FAIL;
-               goto exit;
-       }
-
-       pdrvextra_cmd_parm = (struct drvextra_cmd_parm *)rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
-       if (pdrvextra_cmd_parm == NULL) {
-               kfree(ph2c);
-               res = _FAIL;
-               goto exit;
-       }
-
-       pdrvextra_cmd_parm->ec_id = P2P_PROTO_WK_CID;
-       pdrvextra_cmd_parm->type_size = intCmdType; /* As the command tppe. */
-       pdrvextra_cmd_parm->pbuf = NULL;            /* Must be NULL here */
-
-       init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra));
-
-       res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-
-exit:
-
-
-       return res;
-}
-#endif /* CONFIG_88EU_P2P */
-
 u8 rtw_ps_cmd(struct adapter *padapter)
 {
        struct cmd_obj          *ppscmd;
@@ -1772,13 +1642,13 @@ u8 rtw_ps_cmd(struct adapter *padapter)
 
        u8      res = _SUCCESS;
 
-       ppscmd = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ppscmd = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ppscmd == NULL) {
                res = _FAIL;
                goto exit;
        }
 
-       pdrvextra_cmd_parm = (struct drvextra_cmd_parm *)rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+       pdrvextra_cmd_parm = kzalloc(sizeof(struct drvextra_cmd_parm), GFP_KERNEL);
        if (pdrvextra_cmd_parm == NULL) {
                kfree(ppscmd);
                res = _FAIL;
@@ -1846,13 +1716,13 @@ u8 rtw_chk_hi_queue_cmd(struct adapter *padapter)
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8      res = _SUCCESS;
 
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
        if (ph2c == NULL) {
                res = _FAIL;
                goto exit;
        }
 
-       pdrvextra_cmd_parm = (struct drvextra_cmd_parm *)rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+       pdrvextra_cmd_parm = kzalloc(sizeof(struct drvextra_cmd_parm), GFP_KERNEL);
        if (pdrvextra_cmd_parm == NULL) {
                kfree(ph2c);
                res = _FAIL;
@@ -1871,111 +1741,6 @@ exit:
 }
 #endif
 
-u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt)
-{
-       struct cmd_obj *ph2c;
-       struct drvextra_cmd_parm *pdrvextra_cmd_parm;
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-       u8      res = _SUCCESS;
-
-       ph2c = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
-               res = _FAIL;
-               goto exit;
-       }
-
-       pdrvextra_cmd_parm = (struct drvextra_cmd_parm *)rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
-       if (pdrvextra_cmd_parm == NULL) {
-               kfree(ph2c);
-               res = _FAIL;
-               goto exit;
-       }
-
-       pdrvextra_cmd_parm->ec_id = C2H_WK_CID;
-       pdrvextra_cmd_parm->type_size = c2h_evt ? 16 : 0;
-       pdrvextra_cmd_parm->pbuf = c2h_evt;
-
-       init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra));
-
-       res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-
-exit:
-
-       return res;
-}
-
-static s32 c2h_evt_hdl(struct adapter *adapter, struct c2h_evt_hdr *c2h_evt, c2h_id_filter filter)
-{
-       s32 ret = _FAIL;
-       u8 buf[16];
-
-       if (!c2h_evt) {
-               /* No c2h event in cmd_obj, read c2h event before handling*/
-               if (c2h_evt_read(adapter, buf) == _SUCCESS) {
-                       c2h_evt = (struct c2h_evt_hdr *)buf;
-
-                       if (filter && filter(c2h_evt->id) == false)
-                               goto exit;
-
-                       ret = rtw_hal_c2h_handler(adapter, c2h_evt);
-               }
-       } else {
-               if (filter && filter(c2h_evt->id) == false)
-                       goto exit;
-
-               ret = rtw_hal_c2h_handler(adapter, c2h_evt);
-       }
-exit:
-       return ret;
-}
-
-static void c2h_wk_callback(struct work_struct *work)
-{
-       struct evt_priv *evtpriv = container_of(work, struct evt_priv, c2h_wk);
-       struct adapter *adapter = container_of(evtpriv, struct adapter, evtpriv);
-       struct c2h_evt_hdr *c2h_evt;
-       c2h_id_filter ccx_id_filter = rtw_hal_c2h_id_filter_ccx(adapter);
-
-       evtpriv->c2h_wk_alive = true;
-
-       while (!rtw_cbuf_empty(evtpriv->c2h_queue)) {
-               c2h_evt = (struct c2h_evt_hdr *)
-                       rtw_cbuf_pop(evtpriv->c2h_queue);
-               if (c2h_evt != NULL)
-                       /* This C2H event is read, clear it */
-                       c2h_evt_clear(adapter);
-               else {
-                       c2h_evt = (struct c2h_evt_hdr *)rtw_malloc(16);
-                       /* This C2H event is not read, read & clear now */
-                       if (c2h_evt != NULL &&
-                           c2h_evt_read(adapter, (u8 *)c2h_evt) != _SUCCESS)
-                               continue;
-               }
-
-               /* Special pointer to trigger c2h_evt_clear only */
-               if ((void *)c2h_evt == (void *)evtpriv)
-                       continue;
-
-               if (!c2h_evt_exist(c2h_evt)) {
-                       kfree(c2h_evt);
-                       continue;
-               }
-
-               if (ccx_id_filter(c2h_evt->id) == true) {
-                       /* Handle CCX report here */
-                       rtw_hal_c2h_handler(adapter, c2h_evt);
-                       kfree(c2h_evt);
-               } else {
-#ifdef CONFIG_88EU_P2P
-                       /* Enqueue into cmd_thread for others */
-                       rtw_c2h_wk_cmd(adapter, (u8 *)c2h_evt);
-#endif
-               }
-       }
-
-       evtpriv->c2h_wk_alive = false;
-}
-
 u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf)
 {
        struct drvextra_cmd_parm *pdrvextra_cmd;
@@ -2001,26 +1766,11 @@ u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf)
        case ANT_SELECT_WK_CID:
                antenna_select_wk_hdl(padapter, pdrvextra_cmd->type_size);
                break;
-#ifdef CONFIG_88EU_P2P
-       case P2P_PS_WK_CID:
-               p2p_ps_wk_hdl(padapter, pdrvextra_cmd->type_size);
-               break;
-       case P2P_PROTO_WK_CID:
-               /*
-                * Commented by Albert 2011/07/01
-                * I used the type_size as the type command
-                */
-               p2p_protocol_wk_hdl(padapter, pdrvextra_cmd->type_size);
-               break;
-#endif
 #ifdef CONFIG_88EU_AP_MODE
        case CHECK_HIQ_WK_CID:
                rtw_chk_hi_queue_hdl(padapter);
                break;
 #endif /* CONFIG_88EU_AP_MODE */
-       case C2H_WK_CID:
-               c2h_evt_hdl(padapter, (struct c2h_evt_hdr *)pdrvextra_cmd->pbuf, NULL);
-               break;
        default:
                break;
        }
@@ -2061,8 +1811,7 @@ void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
 
                RT_TRACE(_module_rtl871x_cmd_c_, _drv_err_, ("\n ***Error: disconnect_cmd_callback Fail ***\n."));
                return;
-       } else /* clear bridge database */
-               nat25_db_cleanup(padapter);
+       }
 
        /*  free cmd */
        rtw_free_cmd_obj(pcmd);
@@ -2088,7 +1837,6 @@ void rtw_joinbss_cmd_callback(struct adapter *padapter,  struct cmd_obj *pcmd)
 
 void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
 {
-       u8 timer_cancelled;
        struct sta_info *psta = NULL;
        struct wlan_network *pwlan = NULL;
        struct  mlme_priv *pmlmepriv = &padapter->mlmepriv;
@@ -2101,7 +1849,7 @@ void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
                _set_timer(&pmlmepriv->assoc_timer, 1);
        }
 
-       _cancel_timer(&pmlmepriv->assoc_timer, &timer_cancelled);
+       del_timer_sync(&pmlmepriv->assoc_timer);
 
        spin_lock_bh(&pmlmepriv->lock);
 
@@ -2128,7 +1876,7 @@ void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
                        }
                        pwlan->last_scanned = jiffies;
                } else {
-                       rtw_list_insert_tail(&(pwlan->list), &pmlmepriv->scanned_queue.queue);
+                       list_add_tail(&(pwlan->list), &pmlmepriv->scanned_queue.queue);
                }
 
                pnetwork->Length = get_wlan_bssid_ex_sz(pnetwork);