[PATCH 05/23] staging: wilc1000: rename goto to avoid leading '_' in label name

Dan Carpenter dan.carpenter at oracle.com
Mon Jul 30 11:32:31 UTC 2018


On Mon, Jul 30, 2018 at 03:40:24PM +0530, Ajay Singh wrote:
> Hi Dan,
> 
> On Mon, 30 Jul 2018 11:41:13 +0300
> Dan Carpenter <dan.carpenter at oracle.com> wrote:
> 
> > On Fri, Jul 20, 2018 at 04:35:24AM +0530, Ajay Singh wrote:
> > > Hi Dan,
> > > 
> > > On Thu, 19 Jul 2018 12:27:44 +0300
> > > Dan Carpenter <dan.carpenter at oracle.com> wrote:
> > >   
> > > > On Thu, Jul 19, 2018 at 04:15:01AM +0530, Ajay Singh wrote:  
> > > > > diff --git a/drivers/staging/wilc1000/wilc_wlan.c
> > > > > b/drivers/staging/wilc1000/wilc_wlan.c index 85af365..8e71c28
> > > > > 100644 --- a/drivers/staging/wilc1000/wilc_wlan.c
> > > > > +++ b/drivers/staging/wilc1000/wilc_wlan.c
> > > > > @@ -850,13 +850,13 @@ static void
> > > > > wilc_wlan_handle_isr_ext(struct wilc *wilc, u32 int_status) if
> > > > > (wilc->rx_buffer) buffer = &wilc->rx_buffer[offset];
> > > > >  		else
> > > > > -			goto _end_;
> > > > > +			goto end;    
> > > > 
> > > > This isn't related to your patch but this goto doesn't appear to
> > > > make any sort of sense.  I have no idea what was intended.
> > > >   
> > > 
> > > Thanks for pointing it out. I will include these changes in separate
> > > patchset.
> > > 
> > > Yes, the position of goto label can be moved just before
> > > wilc_wlan_handle_rxq(wilc), as 'ret' will always be '0' when goto
> > > statement is executed.
> > > 
> > > Actually earlier there were few more goto statement in this function
> > > and single label 'end' was used to handle for different cases. But
> > > in previous cleanup patches those cases were removed.
> > > Now this function can be further refactor by either moving
> > > goto label before wilc_wlan_handle_rxq(wilc) or avoid goto use by
> > > adding the rx_buffer validation along with size check.
> > > 
> > > i.e 
> > > 
> > > end:
> > >     wilc_wlan_handle_rxq(wilc)
> > > 
> > > 
> > > OR
> > > 
> > > 	if (size > 0 && wilc->rx_buffer) {
> > > 
> > > 	....
> > > 	}
> > >     	wilc_wlan_handle_rxq(wilc)
> > >   
> > 
> > Actually looking at it now, you could probably just remove the if
> > statement.  Hopefully wilc->rx_buffer is non-NULL at this point? Is
> > there really any need to call wilc_wlan_handle_rxq() when we haven't
> > called wilc_wlan_rxq_add()?
> > 
> 
> Yes, wilc->rx_buffer would be non NULL value as its only one time
> allocated buffer. wilc_wlan_handle_rxq() was called without
> wilc_wlan_rxq_add() just as a fail safe to ensure there are no pending
> packets in the queue.

The only thing is wilc->quit can be set.  Otherwise if ->rx_buffer is
NULL it would just result in a NULL dereference.  (We are deep into
hypotheticals here because we're discussing impossible code).

regards,
dan carpenter



More information about the devel mailing list