Remove the goto statement from _rtw_init_cmd_priv(). In this function goto statement can be replace by return statement. By replacing the goto statement with return statement local variable "res" is also not required.As on goto label exit, function only return it is not performing any cleanup.Avoiding goto will simplify the function. Signed-off-by: Saurav Girepunje <saurav.girepunje@xxxxxxxxx> --- drivers/staging/r8188eu/core/rtw_cmd.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_cmd.c b/drivers/staging/r8188eu/core/rtw_cmd.c index e17332677daa..22046bd5cf82 100644 --- a/drivers/staging/r8188eu/core/rtw_cmd.c +++ b/drivers/staging/r8188eu/core/rtw_cmd.c @@ -19,7 +19,6 @@ No irqsave is necessary. static int _rtw_init_cmd_priv(struct cmd_priv *pcmdpriv) { - int res = _SUCCESS; sema_init(&pcmdpriv->cmd_queue_sema, 0); /* sema_init(&(pcmdpriv->cmd_done_sema), 0); */ @@ -34,28 +33,23 @@ static int _rtw_init_cmd_priv(struct cmd_priv *pcmdpriv) pcmdpriv->cmd_allocated_buf = kzalloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ, GFP_KERNEL); - if (!pcmdpriv->cmd_allocated_buf) { - res = _FAIL; - goto exit; - } + if (!pcmdpriv->cmd_allocated_buf) + return _FAIL; pcmdpriv->cmd_buf = pcmdpriv->cmd_allocated_buf + CMDBUFF_ALIGN_SZ - ((size_t)(pcmdpriv->cmd_allocated_buf) & (CMDBUFF_ALIGN_SZ - 1)); pcmdpriv->rsp_allocated_buf = kzalloc(MAX_RSPSZ + 4, GFP_KERNEL); - if (!pcmdpriv->rsp_allocated_buf) { - res = _FAIL; - goto exit; - } + if (!pcmdpriv->rsp_allocated_buf) + return _FAIL; pcmdpriv->rsp_buf = pcmdpriv->rsp_allocated_buf + 4 - ((size_t)(pcmdpriv->rsp_allocated_buf) & 3); pcmdpriv->cmd_issued_cnt = 0; pcmdpriv->cmd_done_cnt = 0; pcmdpriv->rsp_cnt = 0; -exit: - return res; + return _SUCCESS; } static void c2h_wk_callback(struct work_struct *work); -- 2.33.0