Lines Matching defs:pcmd

345 void rtw_free_cmd_obj(struct cmd_obj *pcmd)
347 if ((pcmd->cmdcode != _JoinBss_CMD_) &&
348 (pcmd->cmdcode != _CreateBss_CMD_)) {
350 kfree(pcmd->parmbuf);
353 if (pcmd->rsp) {
354 if (pcmd->rspsz != 0) {
356 kfree(pcmd->rsp);
361 kfree(pcmd);
378 struct cmd_obj *pcmd;
381 void (*pcmd_callback)(struct adapter *dev, struct cmd_obj *pcmd);
433 pcmd = rtw_dequeue_cmd(pcmdpriv);
434 if (!pcmd) {
439 if (rtw_cmd_filter(pcmdpriv, pcmd) == _FAIL) {
440 pcmd->res = H2C_DROPPED;
446 pcmd->cmdsz = round_up((pcmd->cmdsz), 4);
448 memcpy(pcmdbuf, pcmd->parmbuf, pcmd->cmdsz);
450 if (pcmd->cmdcode < ARRAY_SIZE(wlancmds)) {
451 cmd_hdl = wlancmds[pcmd->cmdcode].h2cfuns;
454 ret = cmd_hdl(pcmd->padapter, pcmdbuf);
455 pcmd->res = ret;
460 pcmd->res = H2C_PARAMETERS_ERROR;
467 if (mutex_lock_interruptible(&pcmd->padapter->cmdpriv.sctx_mutex) == 0) {
468 if (pcmd->sctx) {
470 FUNC_ADPT_FMT " pcmd->sctx\n",
471 FUNC_ADPT_ARG(pcmd->padapter));
473 if (pcmd->res == H2C_SUCCESS)
474 rtw_sctx_done(&pcmd->sctx);
476 rtw_sctx_done_err(&pcmd->sctx, RTW_SCTX_DONE_CMD_ERROR);
478 mutex_unlock(&pcmd->padapter->cmdpriv.sctx_mutex);
482 if (pcmd->cmdcode < ARRAY_SIZE(rtw_cmd_callback)) {
483 pcmd_callback = rtw_cmd_callback[pcmd->cmdcode].callback;
485 rtw_free_cmd_obj(pcmd);
487 /* todo: !!! fill rsp_buf to pcmd->rsp if (pcmd->rsp!= NULL) */
488 pcmd_callback(pcmd->padapter, pcmd);/* need consider that free cmd_obj in rtw_cmd_callback */
491 rtw_free_cmd_obj(pcmd);
499 pcmd = rtw_dequeue_cmd(pcmdpriv);
500 if (!pcmd) {
505 if (pcmd->cmdcode == GEN_CMD_CODE(_Set_Drv_Extra)) {
506 extra_parm = (struct drvextra_cmd_parm *)pcmd->parmbuf;
511 rtw_free_cmd_obj(pcmd);
592 void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd)
594 /* rtw_free_cmd_obj(pcmd); */
595 kfree(pcmd->parmbuf);
596 kfree(pcmd);
601 struct cmd_obj *pcmd;
606 pcmd = rtw_zmalloc(sizeof(struct cmd_obj));
607 if (!pcmd) {
612 INIT_LIST_HEAD(&pcmd->list);
613 pcmd->cmdcode = _CreateBss_CMD_;
614 pcmd->parmbuf = (unsigned char *)pdev_network;
615 pcmd->cmdsz = get_wlan_bssid_ex_sz((struct wlan_bssid_ex *)pdev_network);
616 pcmd->rsp = NULL;
617 pcmd->rspsz = 0;
619 pdev_network->length = pcmd->cmdsz;
621 res = rtw_enqueue_cmd(pcmdpriv, pcmd);
629 struct cmd_obj *pcmd;
639 pcmd = rtw_zmalloc(sizeof(struct cmd_obj));
640 if (!pcmd) {
645 INIT_LIST_HEAD(&pcmd->list);
646 pcmd->cmdcode = GEN_CMD_CODE(_CreateBss);
647 pcmd->parmbuf = NULL;
648 pcmd->cmdsz = 0;
649 pcmd->rsp = NULL;
650 pcmd->rspsz = 0;
653 pcmd->sctx = &sctx;
657 res = rtw_enqueue_cmd(pcmdpriv, pcmd);
663 pcmd->sctx = NULL;
678 struct cmd_obj *pcmd;
691 pcmd = rtw_zmalloc(sizeof(struct cmd_obj));
692 if (!pcmd) {
780 pcmd->cmdsz = get_wlan_bssid_ex_sz(psecnetwork);/* get cmdsz before endian conversion */
782 INIT_LIST_HEAD(&pcmd->list);
783 pcmd->cmdcode = _JoinBss_CMD_;/* GEN_CMD_CODE(_JoinBss) */
784 pcmd->parmbuf = (unsigned char *)psecnetwork;
785 pcmd->rsp = NULL;
786 pcmd->rspsz = 0;
788 res = rtw_enqueue_cmd(pcmdpriv, pcmd);
1796 void rtw_survey_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
1800 if (pcmd->res != H2C_SUCCESS) {
1806 rtw_free_cmd_obj(pcmd);
1809 void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
1813 if (pcmd->res != H2C_SUCCESS) {
1821 rtw_free_cmd_obj(pcmd);
1824 void rtw_joinbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
1828 if (pcmd->res != H2C_SUCCESS) {
1833 rtw_free_cmd_obj(pcmd);
1836 void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
1841 struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)pcmd->parmbuf;
1844 if (!pcmd->parmbuf)
1847 if (pcmd->res != H2C_SUCCESS)
1901 rtw_free_cmd_obj(pcmd);
1904 void rtw_setstaKey_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd)
1907 struct set_stakey_rsp *psetstakey_rsp = (struct set_stakey_rsp *)(pcmd->rsp);
1914 rtw_free_cmd_obj(pcmd);
1917 void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd)
1921 struct set_assocsta_parm *passocsta_parm = (struct set_assocsta_parm *)(pcmd->parmbuf);
1922 struct set_assocsta_rsp *passocsta_rsp = (struct set_assocsta_rsp *)(pcmd->rsp);
1940 rtw_free_cmd_obj(pcmd);