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: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);