On Sat, 2021-03-27 at 15:24 +0100, Fabio Aiuto wrote: > fix the following checkpatch warning: > > ERROR: Macros starting with if should be enclosed by a > do - while loop to avoid possible if/else logic defects > + #define RT_PRINT_DATA(_Comp, _Level, > _TitleString, _HexData, _HexDataLen) \ > > Signed-off-by: Fabio Aiuto <fabioaiuto83@xxxxxxxxx> It's good to use checkpatch as a guide to improve code, but this particular code is just a mess to begin with and it makes a complete mess of the the dmesg log if it's actually enabled. Try substituting print_hex_dump_debug for this instead. > --- > drivers/staging/rtl8723bs/include/rtw_debug.h | 28 ++++++++++--------- > 1 file changed, 15 insertions(+), 13 deletions(-) > > diff --git a/drivers/staging/rtl8723bs/include/rtw_debug.h b/drivers/staging/rtl8723bs/include/rtw_debug.h > index d1c557818305..b00f8a6c4312 100644 > --- a/drivers/staging/rtl8723bs/include/rtw_debug.h > +++ b/drivers/staging/rtl8723bs/include/rtw_debug.h > @@ -236,19 +236,21 @@ > #if defined(_dbgdump) > #undef RT_PRINT_DATA > #define RT_PRINT_DATA(_Comp, _Level, _TitleString, _HexData, _HexDataLen) \ > - if (((_Comp) & GlobalDebugComponents) && (_Level <= GlobalDebugLevel)) \ > - { \ > - int __i; \ > - u8 *ptr = (u8 *)_HexData; \ > - _dbgdump("%s", DRIVER_PREFIX); \ > - _dbgdump(_TitleString); \ > - for (__i = 0; __i < (int)_HexDataLen; __i++) \ > - { \ > - _dbgdump("%02X%s", ptr[__i], (((__i + 1) % 4) == 0)?" ":" "); \ > - if (((__i + 1) % 16) == 0) _dbgdump("\n"); \ > - } \ > - _dbgdump("\n"); \ > - } > + do { \ > + if (((_Comp) & GlobalDebugComponents) && (_Level <= GlobalDebugLevel)) \ > + { \ > + int __i; \ > + u8 *ptr = (u8 *)_HexData; \ > + _dbgdump("%s", DRIVER_PREFIX); \ > + _dbgdump(_TitleString); \ > + for (__i = 0; __i < (int)_HexDataLen; __i++) \ > + { \ > + _dbgdump("%02X%s", ptr[__i], (((__i + 1) % 4) == 0)?" ":" "); \ > + if (((__i + 1) % 16) == 0) _dbgdump("\n"); \ > + } \ > + _dbgdump("\n"); \ > + } \ > + } while (0) > #endif /* defined(_dbgdump) */ > #endif /* DEBUG_RTL871X */ > >