[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200331000143.7c8f98c0@elisabeth>
Date: Tue, 31 Mar 2020 00:01:43 +0200
From: Stefano Brivio <sbrivio@...hat.com>
To: "John B. Wyatt IV" <jbwyatt4@...il.com>
Cc: outreachy-kernel@...glegroups.com,
Julia Lawall <julia.lawall@...ia.fr>,
Forest Bond <forest@...ttletooquiet.net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Quentin Deslandes <quentin.deslandes@...ev.co.uk>,
Colin Ian King <colin.king@...onical.com>,
Malcolm Priestley <tvboxspy@...il.com>,
devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v6] staging: vt6656: add error code handling to unused
variable
On Mon, 30 Mar 2020 14:46:13 -0700
"John B. Wyatt IV" <jbwyatt4@...il.com> wrote:
> Add error code handling to unused 'ret' variable that was never used.
> Return an error code from functions called within vnt_radio_power_on.
>
> Issue reported by coccinelle (coccicheck).
>
> Suggested-by: Quentin Deslandes <quentin.deslandes@...ev.co.uk>
> Suggested-by: Stefano Brivio <sbrivio@...hat.com>
> Reviewed-by: Quentin Deslandes <quentin.deslandes@...ev.co.uk>
> Signed-off-by: John B. Wyatt IV <jbwyatt4@...il.com>
> ---
> v6: Forgot to add all the v5 code to commit.
>
> v5: Remove Suggested-by: Julia Lawall above seperator line.
> Remove break; statement in switch block.
> break; removal checked by both gcc compile and checkpatch.
> Suggested by Stefano Brivio <sbrivio@...hat.com>
>
> v4: Move Suggested-by: Julia Lawall above seperator line.
> Add Reviewed-by tag as requested by Quentin Deslandes.
>
> v3: Forgot to add v2 code changes to commit.
>
> v2: Replace goto statements with return.
> Remove last if check because it was unneeded.
> Suggested-by: Julia Lawall <julia.lawall@...ia.fr>
>
> drivers/staging/vt6656/card.c | 20 ++++++++++++--------
> 1 file changed, 12 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/staging/vt6656/card.c b/drivers/staging/vt6656/card.c
> index dc3ab10eb630..c947e8188384 100644
> --- a/drivers/staging/vt6656/card.c
> +++ b/drivers/staging/vt6656/card.c
> @@ -723,9 +723,13 @@ int vnt_radio_power_on(struct vnt_private *priv)
> {
> int ret = 0;
>
> - vnt_exit_deep_sleep(priv);
> + ret = vnt_exit_deep_sleep(priv);
> + if (ret)
> + return ret;
>
> - vnt_mac_reg_bits_on(priv, MAC_REG_HOSTCR, HOSTCR_RXON);
> + ret = vnt_mac_reg_bits_on(priv, MAC_REG_HOSTCR, HOSTCR_RXON);
> + if (ret)
> + return ret;
>
> switch (priv->rf_type) {
> case RF_AL2230:
> @@ -734,14 +738,14 @@ int vnt_radio_power_on(struct vnt_private *priv)
> case RF_VT3226:
> case RF_VT3226D0:
> case RF_VT3342A0:
> - vnt_mac_reg_bits_on(priv, MAC_REG_SOFTPWRCTL,
> - (SOFTPWRCTL_SWPE2 | SOFTPWRCTL_SWPE3));
> - break;
> + ret = vnt_mac_reg_bits_on(priv, MAC_REG_SOFTPWRCTL,
> + (SOFTPWRCTL_SWPE2 |
> + SOFTPWRCTL_SWPE3));
> }
> + if (ret)
> + return ret;
Hmm, sorry, I haven't been clear enough I guess.
This is what you're doing:
if rf_type is not in that list:
- set some bits in a register
- did it fail? return
- did it fail? return
...
if rf_type is in that list:
- set some bits in a register
- did it fail? return
- set some other bits
- did it fail? return
...
Now, the "set some other bits" part is already selected depending on
rf_type. There's no need to check 'ret' otherwise, so you can move the
return just after setting 'ret', in the switch case.
With a check, because you don't want to return if ret == 0.
--
Stefano
Powered by blists - more mailing lists