On Sun, Apr 09, 2017 at 02:47:45PM +0100, alfonsolimaas...@gmail.com wrote:
> On Sat, Apr 01, 2017 at 09:24:58AM +0200, Sebastian Haas wrote:
> > Hi Alfonso,
> > 
> > On Wed, Mar 29, 2017 at 07:50:11PM +0100, alfonsolimaas...@gmail.com wrote:
> > > diff --git a/drivers/staging/rtl8188eu/include/odm_debug.h 
> > > b/drivers/staging/rtl8188eu/include/odm_debug.h
> > > index 687ff3e..fd92f7e 100644
> > > --- a/drivers/staging/rtl8188eu/include/odm_debug.h
> > > +++ b/drivers/staging/rtl8188eu/include/odm_debug.h
> > > @@ -86,11 +86,13 @@
> > >  #endif
> > >  
> > >  #define ODM_RT_TRACE(pDM_Odm, comp, level, fmt)                          
> > > \
> > > - if (((comp) & pDM_Odm->DebugComponents) &&                      \
> > > -     (level <= pDM_Odm->DebugLevel)) {                           \
> > > -         pr_info("[ODM-8188E] ");                                \
> > > -         RT_PRINTK fmt;                                          \
> > > - }
> > > + do {                                                            \
> > > +         if (((comp) & pDM_Odm->DebugComponents) &&              \
> > > +             (level <= pDM_Odm->DebugLevel)) {                   \
> > > +                 pr_info("[ODM-8188E] ");                        \
> > > +                 RT_PRINTK fmt;                                  \
> > > +         }                                                       \
> > > + } while (0)
> > 
> > isn't the if-statement already a single block?
> > I don't think the do-while adds any improvement.
> 
> I have investigated a little bit and found no reason why checkpatch
> complains about this, so I reported a bug:
> http://www.spinics.net/lists/kernel/msg2484676.html
> 
> It turns out the problem comes when you use that macro inside an if-else
> statement like this:
> 
> if (foo())
>       ODM_RT_TRACE(pDM_Odm, comp, level, fmt);
> else
>       do_smomething();
> 
> So, checkpatch's complain seems to be legit.
> 
> Regards,
> Alfonso

Thanks for pointing that out. I have missed that 'else' scenario.
So, checkpatch was right and the patch is fine.

But I have a question about your example:
Wouldn't the original macro called with a trailing semicolon lead to a compile 
error?
On the other hand, a while-wrapped macro without semicolon would also result in 
an error.

/sebastian
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to