mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-06 16:49:22 +00:00
rtl8712: Replace semaphore terminate_cmdthread_sema with completion
The semaphore 'terminate_cmdthread_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>
This commit is contained in:
parent
0f89054a0f
commit
204a8ac1db
4 changed files with 4 additions and 4 deletions
|
@ -245,7 +245,7 @@ void r8712_stop_drv_threads(struct _adapter *padapter)
|
||||||
/*Below is to terminate r8712_cmd_thread & event_thread...*/
|
/*Below is to terminate r8712_cmd_thread & event_thread...*/
|
||||||
complete(&padapter->cmdpriv.cmd_queue_comp);
|
complete(&padapter->cmdpriv.cmd_queue_comp);
|
||||||
if (padapter->cmdThread)
|
if (padapter->cmdThread)
|
||||||
_down_sema(&padapter->cmdpriv.terminate_cmdthread_sema);
|
wait_for_completion_interruptible(&padapter->cmdpriv.terminate_cmdthread_comp);
|
||||||
padapter->cmdpriv.cmd_seq = 1;
|
padapter->cmdpriv.cmd_seq = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -420,7 +420,7 @@ int r8712_cmd_thread(void *context)
|
||||||
break;
|
break;
|
||||||
r8712_free_cmd_obj(pcmd);
|
r8712_free_cmd_obj(pcmd);
|
||||||
} while (1);
|
} while (1);
|
||||||
up(&pcmdpriv->terminate_cmdthread_sema);
|
complete(&pcmdpriv->terminate_cmdthread_comp);
|
||||||
thread_exit();
|
thread_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,7 @@ No irqsave is necessary.
|
||||||
static sint _init_cmd_priv(struct cmd_priv *pcmdpriv)
|
static sint _init_cmd_priv(struct cmd_priv *pcmdpriv)
|
||||||
{
|
{
|
||||||
init_completion(&pcmdpriv->cmd_queue_comp);
|
init_completion(&pcmdpriv->cmd_queue_comp);
|
||||||
sema_init(&(pcmdpriv->terminate_cmdthread_sema), 0);
|
init_completion(&pcmdpriv->terminate_cmdthread_comp);
|
||||||
|
|
||||||
_init_queue(&(pcmdpriv->cmd_queue));
|
_init_queue(&(pcmdpriv->cmd_queue));
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ struct cmd_obj {
|
||||||
|
|
||||||
struct cmd_priv {
|
struct cmd_priv {
|
||||||
struct completion cmd_queue_comp;
|
struct completion cmd_queue_comp;
|
||||||
struct semaphore terminate_cmdthread_sema;
|
struct completion terminate_cmdthread_comp;
|
||||||
struct __queue cmd_queue;
|
struct __queue cmd_queue;
|
||||||
u8 cmd_seq;
|
u8 cmd_seq;
|
||||||
u8 *cmd_buf; /*shall be non-paged, and 4 bytes aligned*/
|
u8 *cmd_buf; /*shall be non-paged, and 4 bytes aligned*/
|
||||||
|
|
Loading…
Reference in a new issue