summaryrefslogtreecommitdiffstats
path: root/drivers/staging/rtl8712/rtl871x_cmd.c
diff options
context:
space:
mode:
authorBinoy Jayan2016-06-02 06:24:07 +0200
committerGreg Kroah-Hartman2016-08-21 18:25:47 +0200
commit0f89054a0f6b44bdb7fd84de7fa80fa651a6f930 (patch)
treea0652456000e256f8c4afee55814072b71271710 /drivers/staging/rtl8712/rtl871x_cmd.c
parentrtl8192e: Replace semaphore ips_sem with mutex (diff)
downloadkernel-qcow2-linux-0f89054a0f6b44bdb7fd84de7fa80fa651a6f930.tar.gz
kernel-qcow2-linux-0f89054a0f6b44bdb7fd84de7fa80fa651a6f930.tar.xz
kernel-qcow2-linux-0f89054a0f6b44bdb7fd84de7fa80fa651a6f930.zip
rtl8712: Replace semaphore cmd_queue_sema with completion
The semaphore 'cmd_queue_sema' is used as completion, so convert it to a struct completion type. Signed-off-by: Binoy Jayan <binoy.jayan@linaro.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Tested-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/rtl8712/rtl871x_cmd.c')
-rw-r--r--drivers/staging/rtl8712/rtl871x_cmd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/staging/rtl8712/rtl871x_cmd.c b/drivers/staging/rtl8712/rtl871x_cmd.c
index aed03cfbb1ba..82854ec6b117 100644
--- a/drivers/staging/rtl8712/rtl871x_cmd.c
+++ b/drivers/staging/rtl8712/rtl871x_cmd.c
@@ -57,7 +57,7 @@ No irqsave is necessary.
static sint _init_cmd_priv(struct cmd_priv *pcmdpriv)
{
- sema_init(&(pcmdpriv->cmd_queue_sema), 0);
+ init_completion(&pcmdpriv->cmd_queue_comp);
sema_init(&(pcmdpriv->terminate_cmdthread_sema), 0);
_init_queue(&(pcmdpriv->cmd_queue));
@@ -172,7 +172,7 @@ u32 r8712_enqueue_cmd(struct cmd_priv *pcmdpriv, struct cmd_obj *obj)
if (pcmdpriv->padapter->eeprompriv.bautoload_fail_flag)
return _FAIL;
res = _enqueue_cmd(&pcmdpriv->cmd_queue, obj);
- up(&pcmdpriv->cmd_queue_sema);
+ complete(&pcmdpriv->cmd_queue_comp);
return res;
}
@@ -189,7 +189,7 @@ u32 r8712_enqueue_cmd_ex(struct cmd_priv *pcmdpriv, struct cmd_obj *obj)
spin_lock_irqsave(&queue->lock, irqL);
list_add_tail(&obj->list, &queue->queue);
spin_unlock_irqrestore(&queue->lock, irqL);
- up(&pcmdpriv->cmd_queue_sema);
+ complete(&pcmdpriv->cmd_queue_comp);
return _SUCCESS;
}