[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cc86b15eb81f55ce69da3b1169a083dc7ce9d85c.camel@perches.com>
Date: Sun, 28 Mar 2021 01:39:01 -0700
From: Joe Perches <joe@...ches.com>
To: Fabio Aiuto <fabioaiuto83@...il.com>, gregkh@...uxfoundation.org
Cc: dan.carpenter@...cle.com, david.laight@...lab.com,
linux-staging@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 09/20] staging: rtl8723bs: put parentheses on macros
with complex values in include/rtw_debug.h
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@...il.com>
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 */
>
>
Powered by blists - more mailing lists