On Mon, 30 Mar 2020 09:45:30 -0700 "John B. Wyatt IV" <jbwyatt4@xxxxxxxxx> 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@xxxxxxxxxxx> > Suggested-by: Stefano Brivio <sbrivio@xxxxxxxxxx> > Suggested-by: Julia Lawall <julia.lawall@xxxxxxxx> > Reviewed-by: Quentin Deslandes <quentin.deslandes@xxxxxxxxxxx> > Signed-off-by: John B. Wyatt IV <jbwyatt4@xxxxxxxxx> > --- > v4: Move Suggested-by: Julia Lawall above seperator line. Actually, as Julia didn't suggest this patch, the place where you had this in v3 was the right one. > Add Reviewed-by tag as requested by Quentin Deslandes. > Suggested-by: Quentin Deslandes <quentin.deslandes@xxxxxxxxxxx> > > 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@xxxxxxxx> > > drivers/staging/vt6656/card.c | 18 +++++++++++------- > 1 file changed, 11 insertions(+), 7 deletions(-) > > diff --git a/drivers/staging/vt6656/card.c b/drivers/staging/vt6656/card.c > index dc3ab10eb630..239012539e73 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)); > + ret = vnt_mac_reg_bits_on(priv, MAC_REG_SOFTPWRCTL, > + (SOFTPWRCTL_SWPE2 | SOFTPWRCTL_SWPE3)); Note that you broke the alignment here: the ( should be aligned with 'priv'. By the way, those parentheses are useless, but it's not something you should fix in this patch. > break; Unless gcc whines (or checkpatch, even), you could replace this break by the if (ret) return ret; below. If some tool is not happy with this, though, you should still move that here: ret will be checked only for those values of 'rf_type'. > } > + if (ret) > + return ret; Another thing that should be considered in this function is to restore the previous hardware state on failures, but I think the way you're handling this is possibly the safest, without hardware to test on. -- Stefano _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel