Re: [Outreachy kernel] [PATCH 3/5] staging: rtl8712: Remove unnecessary else after return

From: Julia Lawall
Date: Tue Feb 28 2017 - 14:36:07 EST




On Wed, 1 Mar 2017, SIMRAN SINGHAL wrote:

> On Tue, Feb 28, 2017 at 2:49 AM, Julia Lawall <julia.lawall@xxxxxxx> wrote:
> >
> >
> > On Mon, 27 Feb 2017, simran singhal wrote:
> >
> >> This patch fixes the checkpatch warning that else is not generally
> >> useful after a break or return.
> >>
> >> This was done using Coccinelle:
> >> @@
> >> expression e2;
> >> statement s1;
> >> @@
> >> if(e2) { ... return ...; }
> >> -else
> >> s1
> >
> > One might be surprised that the following code was detected using the
> > above semantic patch, because in the code below there is no return in the
> > if branches. Actually, as a special feature, when one has an if branch
> > that ends in return, Coccinelle will skip through any gotos and see if the
> > return is matched afterward. Indeed it is a common pattern to have
> >
> > if (...) {
> > foo(x);
> > bar(y);
> > return -ENOMEM;
> > }
> >
> > But the code can also be cut up as eg
> >
> > if (...) {
> > ret = -ENOMEM;
> > goto out;
> > }
> > ...
> > out:
> > foo(x);
> > bar(y);
> > return ret;
> >
> > To avoid having to write multiple patterns for these cases, Coccinelle
> > will just jump through the return in the second case, allowing the same
> > pattern to match both of them.
> >
> Julia, Thanks for explaination. Its really helpful.
>
> But I think there is no problem in removing else.
> Because it will execute this
>
> padapter->dvobjpriv.inirp_init(padapter);
>
> when if condition will not satisfy.

It seems ok to me.

julia

>
> > julia
> >
> >>
> >> Signed-off-by: simran singhal <singhalsimran0@xxxxxxxxx>
> >> ---
> >> drivers/staging/rtl8712/os_intfs.c | 3 +--
> >> 1 file changed, 1 insertion(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/staging/rtl8712/os_intfs.c b/drivers/staging/rtl8712/os_intfs.c
> >> index 8836b31..3062167 100644
> >> --- a/drivers/staging/rtl8712/os_intfs.c
> >> +++ b/drivers/staging/rtl8712/os_intfs.c
> >> @@ -411,8 +411,7 @@ static int netdev_open(struct net_device *pnetdev)
> >> goto netdev_open_error;
> >> if (!padapter->dvobjpriv.inirp_init)
> >> goto netdev_open_error;
> >> - else
> >> - padapter->dvobjpriv.inirp_init(padapter);
> >> + padapter->dvobjpriv.inirp_init(padapter);
> >> r8712_set_ps_mode(padapter, padapter->registrypriv.power_mgnt,
> >> padapter->registrypriv.smart_ps);
> >> }
> >> --
> >> 2.7.4
> >>
> >> --
> >> You received this message because you are subscribed to the Google Groups "outreachy-kernel" group.
> >> To unsubscribe from this group and stop receiving emails from it, send an email to outreachy-kernel+unsubscribe@xxxxxxxxxxxxxxxxx
> >> To post to this group, send email to outreachy-kernel@xxxxxxxxxxxxxxxxx
> >> To view this discussion on the web visit https://groups.google.com/d/msgid/outreachy-kernel/1488219268-3006-3-git-send-email-singhalsimran0%40gmail.com.
> >> For more options, visit https://groups.google.com/d/optout.
> >>
>