Re: [PATCH] staging: greybus: loopback: enclose macro statements in do-while loop

From: Julia Lawall
Date: Sun Oct 16 2022 - 10:51:20 EST




On Sun, 16 Oct 2022, Deepak R Varma wrote:

> Include multiple statements of macro definition inside do-while{0} loop
> to avoid possible partial program execution. Issue reported by
> checkpatch script:
>
> ERROR: Macros with multiple statements should be enclosed in a do - while loop

I don't think this change will compile. See if you can figure out why
not.

julia

>
> Signed-off-by: Deepak R Varma <drv@xxxxxxxxx>
> ---
> drivers/staging/greybus/loopback.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/greybus/loopback.c b/drivers/staging/greybus/loopback.c
> index 1a61fce98056..37214cb43937 100644
> --- a/drivers/staging/greybus/loopback.c
> +++ b/drivers/staging/greybus/loopback.c
> @@ -163,9 +163,11 @@ static ssize_t name##_avg_show(struct device *dev, \
> static DEVICE_ATTR_RO(name##_avg)
>
> #define gb_loopback_stats_attrs(field) \
> +do { \
> gb_loopback_ro_stats_attr(field, min, u); \
> gb_loopback_ro_stats_attr(field, max, u); \
> - gb_loopback_ro_avg_attr(field)
> + gb_loopback_ro_avg_attr(field); \
> +} while (0)
>
> #define gb_loopback_attr(field, type) \
> static ssize_t field##_show(struct device *dev, \
> --
> 2.30.2
>
>
>
>
>