[PATCH] staging: rtl8188eu: Macro should be enclosed
Alfonso Lima
alfonsolimaastor at gmail.com
Sun Apr 9 13:47:45 UTC 2017
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, alfonsolimaastor at 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
More information about the devel
mailing list