rtl8188eu: Remove most semaphore wrappers

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
This commit is contained in:
Larry Finger 2018-12-21 21:20:04 -06:00
parent cbfa6220ef
commit 4b2c469f5f
13 changed files with 37 additions and 75 deletions

View file

@ -36,9 +36,9 @@ sint _rtw_init_cmd_priv(struct cmd_priv *pcmdpriv)
sint res = _SUCCESS; sint res = _SUCCESS;
_rtw_init_sema(&(pcmdpriv->cmd_queue_sema), 0); sema_init(&(pcmdpriv->cmd_queue_sema), 0);
/* _rtw_init_sema(&(pcmdpriv->cmd_done_sema), 0); */ /* sema_init(&(pcmdpriv->cmd_done_sema), 0); */
_rtw_init_sema(&(pcmdpriv->terminate_cmdthread_sema), 0); sema_init(&(pcmdpriv->terminate_cmdthread_sema), 0);
_rtw_init_queue(&(pcmdpriv->cmd_queue)); _rtw_init_queue(&(pcmdpriv->cmd_queue));
@ -138,7 +138,7 @@ sint _rtw_init_evt_priv(struct evt_priv *pevtpriv)
#ifdef CONFIG_H2CLBK #ifdef CONFIG_H2CLBK
_rtw_init_sema(&(pevtpriv->lbkevt_done), 0); sema_init(&(pevtpriv->lbkevt_done), 0);
pevtpriv->lbkevt_limit = 0; pevtpriv->lbkevt_limit = 0;
pevtpriv->lbkevt_num = 0; pevtpriv->lbkevt_num = 0;
pevtpriv->cmdevt_parm = NULL; pevtpriv->cmdevt_parm = NULL;
@ -150,8 +150,8 @@ sint _rtw_init_evt_priv(struct evt_priv *pevtpriv)
#ifdef CONFIG_EVENT_THREAD_MODE #ifdef CONFIG_EVENT_THREAD_MODE
_rtw_init_sema(&(pevtpriv->evt_notify), 0); sema_init(&(pevtpriv->evt_notify), 0);
_rtw_init_sema(&(pevtpriv->terminate_evtthread_sema), 0); sema_init(&(pevtpriv->terminate_evtthread_sema), 0);
pevtpriv->evt_allocated_buf = rtw_zmalloc(MAX_EVTSZ + 4); pevtpriv->evt_allocated_buf = rtw_zmalloc(MAX_EVTSZ + 4);
if (pevtpriv->evt_allocated_buf == NULL) { if (pevtpriv->evt_allocated_buf == NULL) {
@ -194,10 +194,6 @@ void _rtw_free_evt_priv(struct evt_priv *pevtpriv)
#ifdef CONFIG_EVENT_THREAD_MODE #ifdef CONFIG_EVENT_THREAD_MODE
_rtw_free_sema(&(pevtpriv->evt_notify));
_rtw_free_sema(&(pevtpriv->terminate_evtthread_sema));
if (pevtpriv->evt_allocated_buf) if (pevtpriv->evt_allocated_buf)
rtw_mfree(pevtpriv->evt_allocated_buf, MAX_EVTSZ + 4); rtw_mfree(pevtpriv->evt_allocated_buf, MAX_EVTSZ + 4);
#endif #endif
@ -225,9 +221,6 @@ void _rtw_free_cmd_priv(struct cmd_priv *pcmdpriv)
if (pcmdpriv) { if (pcmdpriv) {
_rtw_spinlock_free(&(pcmdpriv->cmd_queue.lock)); _rtw_spinlock_free(&(pcmdpriv->cmd_queue.lock));
_rtw_free_sema(&(pcmdpriv->cmd_queue_sema));
/* _rtw_free_sema(&(pcmdpriv->cmd_done_sema)); */
_rtw_free_sema(&(pcmdpriv->terminate_cmdthread_sema));
if (pcmdpriv->cmd_allocated_buf) if (pcmdpriv->cmd_allocated_buf)
rtw_mfree(pcmdpriv->cmd_allocated_buf, MAX_CMDSZ + CMDBUFF_ALIGN_SZ); rtw_mfree(pcmdpriv->cmd_allocated_buf, MAX_CMDSZ + CMDBUFF_ALIGN_SZ);
@ -476,7 +469,7 @@ u32 rtw_enqueue_cmd(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj)
res = _rtw_enqueue_cmd(&pcmdpriv->cmd_queue, cmd_obj, 0); res = _rtw_enqueue_cmd(&pcmdpriv->cmd_queue, cmd_obj, 0);
if (res == _SUCCESS) if (res == _SUCCESS)
_rtw_up_sema(&pcmdpriv->cmd_queue_sema); up(&pcmdpriv->cmd_queue_sema);
exit: exit:
@ -497,7 +490,7 @@ struct cmd_obj *rtw_dequeue_cmd(struct cmd_priv *pcmdpriv)
void rtw_cmd_clr_isr(struct cmd_priv *pcmdpriv) void rtw_cmd_clr_isr(struct cmd_priv *pcmdpriv)
{ {
pcmdpriv->cmd_done_cnt++; pcmdpriv->cmd_done_cnt++;
/* _rtw_up_sema(&(pcmdpriv->cmd_done_sema)); */ /* up(&(pcmdpriv->cmd_done_sema)); */
} }
void rtw_free_cmd_obj(struct cmd_obj *pcmd) void rtw_free_cmd_obj(struct cmd_obj *pcmd)
@ -527,7 +520,7 @@ void rtw_stop_cmd_thread(_adapter *adapter)
ATOMIC_READ(&(adapter->cmdpriv.cmdthd_running)) == true && ATOMIC_READ(&(adapter->cmdpriv.cmdthd_running)) == true &&
adapter->cmdpriv.stop_req == 0) { adapter->cmdpriv.stop_req == 0) {
adapter->cmdpriv.stop_req = 1; adapter->cmdpriv.stop_req = 1;
_rtw_up_sema(&adapter->cmdpriv.cmd_queue_sema); up(&adapter->cmdpriv.cmd_queue_sema);
_rtw_down_sema(&adapter->cmdpriv.terminate_cmdthread_sema); _rtw_down_sema(&adapter->cmdpriv.terminate_cmdthread_sema);
} }
} }
@ -553,7 +546,7 @@ thread_return rtw_cmd_thread(thread_context context)
pcmdpriv->stop_req = 0; pcmdpriv->stop_req = 0;
ATOMIC_SET(&(pcmdpriv->cmdthd_running), true); ATOMIC_SET(&(pcmdpriv->cmdthd_running), true);
_rtw_up_sema(&pcmdpriv->terminate_cmdthread_sema); up(&pcmdpriv->terminate_cmdthread_sema);
while (1) { while (1) {
@ -732,7 +725,7 @@ post_process:
rtw_free_cmd_obj(pcmd); rtw_free_cmd_obj(pcmd);
} while (1); } while (1);
_rtw_up_sema(&pcmdpriv->terminate_cmdthread_sema); up(&pcmdpriv->terminate_cmdthread_sema);
thread_exit(); thread_exit();
@ -803,7 +796,7 @@ void rtw_free_evt_obj(struct evt_obj *pevtobj)
void rtw_evt_notify_isr(struct evt_priv *pevtpriv) void rtw_evt_notify_isr(struct evt_priv *pevtpriv)
{ {
pevtpriv->evt_done_cnt++; pevtpriv->evt_done_cnt++;
_rtw_up_sema(&(pevtpriv->evt_notify)); up(&(pevtpriv->evt_notify));
} }
#endif #endif

View file

@ -3365,7 +3365,7 @@ sint rtw_set_key(_adapter *adapter, struct security_priv *psecuritypriv, sint ke
INIT_LIST_HEAD(&pcmd->list); INIT_LIST_HEAD(&pcmd->list);
/* _rtw_init_sema(&(pcmd->cmd_sem), 0); */ /* sema_init(&(pcmd->cmd_sem), 0); */
res = rtw_enqueue_cmd(pcmdpriv, pcmd); res = rtw_enqueue_cmd(pcmdpriv, pcmd);
} else { } else {

View file

@ -1377,10 +1377,10 @@ void cpwm_int_hdl(
if (pwrpriv->cpwm >= PS_STATE_S2) { if (pwrpriv->cpwm >= PS_STATE_S2) {
if (pwrpriv->alives & CMD_ALIVE) if (pwrpriv->alives & CMD_ALIVE)
_rtw_up_sema(&padapter->cmdpriv.cmd_queue_sema); up(&padapter->cmdpriv.cmd_queue_sema);
if (pwrpriv->alives & XMIT_ALIVE) if (pwrpriv->alives & XMIT_ALIVE)
_rtw_up_sema(&padapter->xmitpriv.xmit_sema); up(&padapter->xmitpriv.xmit_sema);
} }
_exit_pwrlock(&pwrpriv->lock); _exit_pwrlock(&pwrpriv->lock);

View file

@ -77,8 +77,8 @@ sint _rtw_init_recv_priv(struct recv_priv *precvpriv, _adapter *padapter)
spin_lock_init(&precvpriv->lock); spin_lock_init(&precvpriv->lock);
#ifdef CONFIG_RECV_THREAD_MODE #ifdef CONFIG_RECV_THREAD_MODE
_rtw_init_sema(&precvpriv->recv_sema, 0); sema_init(&precvpriv->recv_sema, 0);
_rtw_init_sema(&precvpriv->terminate_recvthread_sema, 0); sema_init(&precvpriv->terminate_recvthread_sema, 0);
#endif #endif
_rtw_init_queue(&precvpriv->free_recv_queue); _rtw_init_queue(&precvpriv->free_recv_queue);
@ -132,7 +132,7 @@ sint _rtw_init_recv_priv(struct recv_priv *precvpriv, _adapter *padapter)
ATOMIC_SET(&(precvpriv->rx_pending_cnt), 1); ATOMIC_SET(&(precvpriv->rx_pending_cnt), 1);
_rtw_init_sema(&precvpriv->allrxreturnevt, 0); sema_init(&precvpriv->allrxreturnevt, 0);
res = rtw_hal_init_recv_priv(padapter); res = rtw_hal_init_recv_priv(padapter);
@ -159,11 +159,6 @@ exit:
static void rtw_mfree_recv_priv_lock(struct recv_priv *precvpriv) static void rtw_mfree_recv_priv_lock(struct recv_priv *precvpriv)
{ {
_rtw_spinlock_free(&precvpriv->lock); _rtw_spinlock_free(&precvpriv->lock);
#ifdef CONFIG_RECV_THREAD_MODE
_rtw_free_sema(&precvpriv->recv_sema);
_rtw_free_sema(&precvpriv->terminate_recvthread_sema);
#endif
_rtw_spinlock_free(&precvpriv->free_recv_queue.lock); _rtw_spinlock_free(&precvpriv->free_recv_queue.lock);
_rtw_spinlock_free(&precvpriv->recv_pending_queue.lock); _rtw_spinlock_free(&precvpriv->recv_pending_queue.lock);
@ -4208,7 +4203,7 @@ thread_return rtw_recv_thread(thread_context context)
|| err == RTW_RFRAME_PKT_UNAVAIL || err == RTW_RFRAME_PKT_UNAVAIL
) { ) {
rtw_msleep_os(1); rtw_msleep_os(1);
_rtw_up_sema(&recvpriv->recv_sema); up(&recvpriv->recv_sema);
} }
flush_signals_thread(); flush_signals_thread();
@ -4216,7 +4211,7 @@ thread_return rtw_recv_thread(thread_context context)
} while (err != _FAIL); } while (err != _FAIL);
exit: exit:
_rtw_up_sema(&adapter->recvpriv.terminate_recvthread_sema); up(&adapter->recvpriv.terminate_recvthread_sema);
RTW_INFO(FUNC_ADPT_FMT" exit\n", FUNC_ADPT_ARG(adapter)); RTW_INFO(FUNC_ADPT_FMT" exit\n", FUNC_ADPT_ARG(adapter));
thread_exit(); thread_exit();
} }

View file

@ -64,8 +64,8 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, _adapter *padapter)
spin_lock_init(&pxmitpriv->lock); spin_lock_init(&pxmitpriv->lock);
spin_lock_init(&pxmitpriv->lock_sctx); spin_lock_init(&pxmitpriv->lock_sctx);
_rtw_init_sema(&pxmitpriv->xmit_sema, 0); sema_init(&pxmitpriv->xmit_sema, 0);
_rtw_init_sema(&pxmitpriv->terminate_xmitthread_sema, 0); sema_init(&pxmitpriv->terminate_xmitthread_sema, 0);
/* /*
Please insert all the queue initializaiton using _rtw_init_queue below Please insert all the queue initializaiton using _rtw_init_queue below
@ -266,7 +266,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, _adapter *padapter)
pxmitpriv->txirp_cnt = 1; pxmitpriv->txirp_cnt = 1;
_rtw_init_sema(&(pxmitpriv->tx_retevt), 0); sema_init(&(pxmitpriv->tx_retevt), 0);
/* per AC pending irp */ /* per AC pending irp */
pxmitpriv->beq_cnt = 0; pxmitpriv->beq_cnt = 0;
@ -313,18 +313,12 @@ void rtw_mfree_xmit_priv_lock(struct xmit_priv *pxmitpriv);
void rtw_mfree_xmit_priv_lock(struct xmit_priv *pxmitpriv) void rtw_mfree_xmit_priv_lock(struct xmit_priv *pxmitpriv)
{ {
_rtw_spinlock_free(&pxmitpriv->lock); _rtw_spinlock_free(&pxmitpriv->lock);
_rtw_free_sema(&pxmitpriv->xmit_sema);
_rtw_free_sema(&pxmitpriv->terminate_xmitthread_sema);
_rtw_spinlock_free(&pxmitpriv->be_pending.lock); _rtw_spinlock_free(&pxmitpriv->be_pending.lock);
_rtw_spinlock_free(&pxmitpriv->bk_pending.lock); _rtw_spinlock_free(&pxmitpriv->bk_pending.lock);
_rtw_spinlock_free(&pxmitpriv->vi_pending.lock); _rtw_spinlock_free(&pxmitpriv->vi_pending.lock);
_rtw_spinlock_free(&pxmitpriv->vo_pending.lock); _rtw_spinlock_free(&pxmitpriv->vo_pending.lock);
_rtw_spinlock_free(&pxmitpriv->bm_pending.lock); _rtw_spinlock_free(&pxmitpriv->bm_pending.lock);
/* _rtw_spinlock_free(&pxmitpriv->legacy_dz_queue.lock); */
/* _rtw_spinlock_free(&pxmitpriv->apsd_queue.lock); */
_rtw_spinlock_free(&pxmitpriv->free_xmit_queue.lock); _rtw_spinlock_free(&pxmitpriv->free_xmit_queue.lock);
_rtw_spinlock_free(&pxmitpriv->free_xmitbuf_queue.lock); _rtw_spinlock_free(&pxmitpriv->free_xmitbuf_queue.lock);
_rtw_spinlock_free(&pxmitpriv->pending_xmitbuf_queue.lock); _rtw_spinlock_free(&pxmitpriv->pending_xmitbuf_queue.lock);
@ -4649,7 +4643,7 @@ void enqueue_pending_xmitbuf(
list_del_init(&pxmitbuf->list); list_del_init(&pxmitbuf->list);
list_add_tail(&pxmitbuf->list, get_list_head(pqueue)); list_add_tail(&pxmitbuf->list, get_list_head(pqueue));
_exit_critical_bh(&pqueue->lock, &irql); _exit_critical_bh(&pqueue->lock, &irql);
_rtw_up_sema(&(pri_adapter->xmitpriv.xmit_sema)); up(&(pri_adapter->xmitpriv.xmit_sema));
} }
void enqueue_pending_xmitbuf_to_head( void enqueue_pending_xmitbuf_to_head(
@ -4826,7 +4820,7 @@ thread_return rtw_xmit_thread(thread_context context)
flush_signals_thread(); flush_signals_thread();
} while (_SUCCESS == err); } while (_SUCCESS == err);
_rtw_up_sema(&padapter->xmitpriv.terminate_xmitthread_sema); up(&padapter->xmitpriv.terminate_xmitthread_sema);
thread_exit(); thread_exit();
} }

View file

@ -558,7 +558,7 @@ static void _btmpoper_timer_hdl(void *p)
{ {
if (GLBtcBtMpRptWait) { if (GLBtcBtMpRptWait) {
GLBtcBtMpRptWait = 0; GLBtcBtMpRptWait = 0;
_rtw_up_sema(&GLBtcBtMpRptSema); up(&GLBtcBtMpRptSema);
} }
} }
@ -2009,7 +2009,7 @@ u8 EXhalbtcoutsrc_InitlizeVariables(void *padapter)
GLBtcBtMpOperSeq = 0; GLBtcBtMpOperSeq = 0;
_rtw_mutex_init(&GLBtcBtMpOperLock); _rtw_mutex_init(&GLBtcBtMpOperLock);
_init_timer(&GLBtcBtMpOperTimer, ((PADAPTER)padapter)->pnetdev, _btmpoper_timer_hdl, pBtCoexist); _init_timer(&GLBtcBtMpOperTimer, ((PADAPTER)padapter)->pnetdev, _btmpoper_timer_hdl, pBtCoexist);
_rtw_init_sema(&GLBtcBtMpRptSema, 0); sema_init(&GLBtcBtMpRptSema, 0);
GLBtcBtMpRptSeq = 0; GLBtcBtMpRptSeq = 0;
GLBtcBtMpRptStatus = 0; GLBtcBtMpRptStatus = 0;
memset(GLBtcBtMpRptRsp, 0, C2H_MAX_SIZE); memset(GLBtcBtMpRptRsp, 0, C2H_MAX_SIZE);
@ -3341,7 +3341,7 @@ void hal_btcoex_BtMpRptNotify(PADAPTER padapter, u8 length, u8 *tmpBuf)
GLBtcBtMpRptStatus = status; GLBtcBtMpRptStatus = status;
memcpy(GLBtcBtMpRptRsp, tmpBuf + 3, len); memcpy(GLBtcBtMpRptRsp, tmpBuf + 3, len);
GLBtcBtMpRptRspSize = len; GLBtcBtMpRptRspSize = len;
_rtw_up_sema(&GLBtcBtMpRptSema); up(&GLBtcBtMpRptSema);
} }
void hal_btcoex_SuspendNotify(PADAPTER padapter, u8 state) void hal_btcoex_SuspendNotify(PADAPTER padapter, u8 state)

View file

@ -256,9 +256,6 @@ extern void rtw_mfree2d(void *pbuf, int h, int w, int size);
extern void list_del_init(_list *plist); extern void list_del_init(_list *plist);
extern void _rtw_init_sema(_sema *sema, int init_val);
extern void _rtw_free_sema(_sema *sema);
extern void _rtw_up_sema(_sema *sema);
extern u32 _rtw_down_sema(_sema *sema); extern u32 _rtw_down_sema(_sema *sema);
extern void _rtw_mutex_init(_mutex *pmutex); extern void _rtw_mutex_init(_mutex *pmutex);
extern void _rtw_mutex_free(_mutex *pmutex); extern void _rtw_mutex_free(_mutex *pmutex);

View file

@ -153,12 +153,11 @@ typedef _sema _pwrlock;
__inline static void _init_pwrlock(_pwrlock *plock) __inline static void _init_pwrlock(_pwrlock *plock)
{ {
_rtw_init_sema(plock, 1); sema_init(plock, 1);
} }
__inline static void _free_pwrlock(_pwrlock *plock) __inline static void _free_pwrlock(_pwrlock *plock)
{ {
_rtw_free_sema(plock);
} }
@ -170,7 +169,7 @@ __inline static void _enter_pwrlock(_pwrlock *plock)
__inline static void _exit_pwrlock(_pwrlock *plock) __inline static void _exit_pwrlock(_pwrlock *plock)
{ {
_rtw_up_sema(plock); up(plock);
} }
#define LPS_DELAY_TIME 1*HZ /* 1 sec */ #define LPS_DELAY_TIME 1*HZ /* 1 sec */

View file

@ -10992,7 +10992,7 @@ static s32 initLoopback(PADAPTER padapter)
if (ploopback == NULL) if (ploopback == NULL)
return -ENOMEM; return -ENOMEM;
_rtw_init_sema(&ploopback->sema, 0); sema_init(&ploopback->sema, 0);
ploopback->bstop = true; ploopback->bstop = true;
ploopback->cnt = 0; ploopback->cnt = 0;
ploopback->size = 300; ploopback->size = 300;
@ -11423,7 +11423,7 @@ static void loopbackTest(PADAPTER padapter, u32 cnt, u32 size, u8 *pmsg)
if (ploopback) { if (ploopback) {
if (ploopback->bstop == false) { if (ploopback->bstop == false) {
ploopback->bstop = true; ploopback->bstop = true;
_rtw_up_sema(&ploopback->sema); up(&ploopback->sema);
} }
len = 0; len = 0;
do { do {

View file

@ -1582,21 +1582,21 @@ void rtw_stop_drv_threads(_adapter *padapter)
rtw_stop_cmd_thread(padapter); rtw_stop_cmd_thread(padapter);
#ifdef CONFIG_EVENT_THREAD_MODE #ifdef CONFIG_EVENT_THREAD_MODE
_rtw_up_sema(&padapter->evtpriv.evt_notify); up(&padapter->evtpriv.evt_notify);
if (padapter->evtThread) if (padapter->evtThread)
_rtw_down_sema(&padapter->evtpriv.terminate_evtthread_sema); _rtw_down_sema(&padapter->evtpriv.terminate_evtthread_sema);
#endif #endif
#ifdef CONFIG_XMIT_THREAD_MODE #ifdef CONFIG_XMIT_THREAD_MODE
/* Below is to termindate tx_thread... */ /* Below is to termindate tx_thread... */
_rtw_up_sema(&padapter->xmitpriv.xmit_sema); up(&padapter->xmitpriv.xmit_sema);
_rtw_down_sema(&padapter->xmitpriv.terminate_xmitthread_sema); _rtw_down_sema(&padapter->xmitpriv.terminate_xmitthread_sema);
#endif #endif
#ifdef CONFIG_RECV_THREAD_MODE #ifdef CONFIG_RECV_THREAD_MODE
if (is_primary_adapter(padapter)) { if (is_primary_adapter(padapter)) {
/* Below is to termindate rx_thread... */ /* Below is to termindate rx_thread... */
_rtw_up_sema(&padapter->recvpriv.recv_sema); up(&padapter->recvpriv.recv_sema);
_rtw_down_sema(&padapter->recvpriv.terminate_recvthread_sema); _rtw_down_sema(&padapter->recvpriv.terminate_recvthread_sema);
} }
#endif #endif

View file

@ -693,20 +693,6 @@ void rtw_mfree2d(void *pbuf, int h, int w, int size)
rtw_mfree((u8 *)pbuf, h * sizeof(void *) + w * h * size); rtw_mfree((u8 *)pbuf, h * sizeof(void *) + w * h * size);
} }
void _rtw_init_sema(_sema *sema, int init_val)
{
sema_init(sema, init_val);
}
void _rtw_free_sema(_sema *sema)
{
}
void _rtw_up_sema(_sema *sema)
{
up(sema);
}
u32 _rtw_down_sema(_sema *sema) u32 _rtw_down_sema(_sema *sema)
{ {
if (down_interruptible(sema)) if (down_interruptible(sema))
@ -714,8 +700,6 @@ u32 _rtw_down_sema(_sema *sema)
return _SUCCESS; return _SUCCESS;
} }
void _rtw_mutex_init(_mutex *pmutex) void _rtw_mutex_init(_mutex *pmutex)
{ {
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37))

View file

@ -384,7 +384,7 @@ static struct dvobj_priv *usb_dvobj_init(struct usb_interface *usb_intf, const s
rtw_decide_chip_type_by_usb_info(pdvobjpriv, pdid); rtw_decide_chip_type_by_usb_info(pdvobjpriv, pdid);
/* .3 misc */ /* .3 misc */
_rtw_init_sema(&(pdvobjpriv->usb_suspend_sema), 0); sema_init(&(pdvobjpriv->usb_suspend_sema), 0);
rtw_reset_continual_io_error(pdvobjpriv); rtw_reset_continual_io_error(pdvobjpriv);
usb_get_dev(pusbd); usb_get_dev(pusbd);

View file

@ -435,7 +435,7 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs)
if(pxmitpriv->txirp_cnt==0) if(pxmitpriv->txirp_cnt==0)
{ {
_rtw_up_sema(&(pxmitpriv->tx_retevt)); up(&(pxmitpriv->tx_retevt));
} }
*/ */
/* rtw_free_xmitframe(pxmitpriv, pxmitframe); */ /* rtw_free_xmitframe(pxmitpriv, pxmitframe); */