[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALrZqyPqNUCdbEpQT2KkGS8F8Up6d_Uc56YHVLxf_QDFghooWw@mail.gmail.com>
Date: Wed, 1 Mar 2017 00:47:08 +0530
From: SIMRAN SINGHAL <singhalsimran0@...il.com>
To: Julia Lawall <julia.lawall@...6.fr>
Cc: Greg KH <gregkh@...uxfoundation.org>,
lustre-devel@...ts.lustre.org, devel@...verdev.osuosl.org,
linux-kernel@...r.kernel.org, linux-fbdev@...r.kernel.org,
outreachy-kernel@...glegroups.com
Subject: Re: [Outreachy kernel] [PATCH 3/5] staging: rtl8712: Remove
unnecessary else after return
On Tue, Feb 28, 2017 at 2:49 AM, Julia Lawall <julia.lawall@...6.fr> 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.
> julia
>
>>
>> Signed-off-by: simran singhal <singhalsimran0@...il.com>
>> ---
>> 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@...glegroups.com.
>> To post to this group, send email to outreachy-kernel@...glegroups.com.
>> 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.
>>
Powered by blists - more mailing lists