Subject: Re: [PATCH net-next] ieee802154: use helper function to get rid of redundancy

From: Jean Sacren <[email-masked]>
Date: Sun, 1 Jun 2014 11:53:20 -0600

From: Jean Sacren <[email-masked]>
Date: Sun, 01 Jun 2014 11:49:29 -0600
>
> From: Alexander Aring <[email-masked]>
> Date: Sun, 01 Jun 2014 18:39:28 +0200
> >
> > > You mean something like the following will be less confusing?
> > 
> > Yes that's less but there are issues and I don't see any reason why we
> > should do that.
> > 
> > > 
> > > diff --git a/drivers/net/ieee802154/at86rf230.c b/drivers/net/ieee802154/at86rf230.c
> > > index 4517b149ed07..06b494bacc44 100644
> > > --- a/drivers/net/ieee802154/at86rf230.c
> > > +++ b/drivers/net/ieee802154/at86rf230.c
> > > @@ -602,20 +602,21 @@ at86rf212_set_channel(struct at86rf230_local *lp, int page, int channel)
> > >  {
> > >  	int rc;
> > >  
> > > -	if (channel == 0)
> > > -		rc = at86rf230_write_subreg(lp, SR_SUB_MODE, 0);
> > > -	else
> > > -		rc = at86rf230_write_subreg(lp, SR_SUB_MODE, 1);
> > > +	if (channel)
> > > +		channel = 1;
> > > +
> > > +	rc = at86rf230_write_subreg(lp, SR_SUB_MODE, channel);
> > >  	if (rc < 0)
> > >  		return rc;
> > >  
> > 
> > First:
> > 
> > This will break the at86rf212_set_channel function. At the end of this
> > function we need the channel parameter and you overwrite it here.
> > At the end of this function stands:
> > 
> > "return at86rf230_write_subreg(lp, SR_CHANNEL, channel);"
> 
> You are right, but we can:
> 
> 	if (channel)
> 		rc = 1;
> 
> 	rc = at86rf230_write_subreg(lp, SR_SUB_MODE, rc);

Obviously:

	int rc = 0;