[patch] staging: r8821ae: a couple macro expansion bugs

Dan Carpenter dan.carpenter at oracle.com
Tue Jan 28 14:46:30 UTC 2014


On Tue, Jan 28, 2014 at 03:14:21PM +0100, walter harms wrote:
> 
> 
> Am 28.01.2014 15:00, schrieb Dan Carpenter:
> > These macros need parentheses, otherwise it causes a macro expansion bug
> > when they are used like this:
> > 
> > 	ch->flags &= ~IEEE80211_CHAN_NO_IBSS;
> > 
> > This was found using Smatch:
> > drivers/staging/rtl8821ae/regd.c:200 _rtl_reg_apply_beaconing_flags()
> > 	warn: the 'IEEE80211_CHAN_NO_IBSS' macro might need parens
> > 
> > Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
> > 
> > diff --git a/drivers/staging/rtl8821ae/regd.h b/drivers/staging/rtl8821ae/regd.h
> > index abc60ab8165c..dceb3f18200b 100644
> > --- a/drivers/staging/rtl8821ae/regd.h
> > +++ b/drivers/staging/rtl8821ae/regd.h
> > @@ -30,8 +30,8 @@
> >  #ifndef __RTL_REGD_H__
> >  #define __RTL_REGD_H__
> >  
> > -#define IEEE80211_CHAN_NO_IBSS		1<<2
> > -#define IEEE80211_CHAN_PASSIVE_SCAN	1<<1
> > +#define IEEE80211_CHAN_NO_IBSS		(1 << 2)
> > +#define IEEE80211_CHAN_PASSIVE_SCAN	(1 << 1)
> >  #define WIPHY_FLAG_CUSTOM_REGULATORY	BIT(0)
> >  #define WIPHY_FLAG_STRICT_REGULATORY	BIT(1)
> >  #define WIPHY_FLAG_DISABLE_BEACON_HINTS	BIT(2)
> > --
> 
> 
> just one minor hint ...
> could we settle for a common semantic here either 1<<2 or BIT(2) ?
> 

Yeah...  This driver needs a lot of cleanup in later patches.

regards,
dan carpenter



More information about the devel mailing list