2022-07-08 20:48:28

by Justin Stitt

[permalink] [raw]
Subject: [PATCH] mei: me: fix clang -Wformat warning

When building with Clang we encounter the following warning:
| drivers/misc/mei/hw-me.c:564:44: error: format specifies type 'unsigned
| short' but the argument has type 'int' [-Werror,-Wformat]
| dev_dbg(dev->dev, "empty slots = %hu.\n", empty_slots);

The format specifier used is `%hu` which specifies an unsigned short,
however, empty_slots is an int -- hence the warning.

Link: https://github.com/ClangBuiltLinux/linux/issues/378
Signed-off-by: Justin Stitt <[email protected]>
---
drivers/misc/mei/hw-me.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/misc/mei/hw-me.c b/drivers/misc/mei/hw-me.c
index befa491e3344..3a95fe7d4e33 100644
--- a/drivers/misc/mei/hw-me.c
+++ b/drivers/misc/mei/hw-me.c
@@ -561,7 +561,7 @@ static int mei_me_hbuf_write(struct mei_device *dev,
dev_dbg(dev->dev, MEI_HDR_FMT, MEI_HDR_PRM((struct mei_msg_hdr *)hdr));

empty_slots = mei_hbuf_empty_slots(dev);
- dev_dbg(dev->dev, "empty slots = %hu.\n", empty_slots);
+ dev_dbg(dev->dev, "empty slots = %d.\n", empty_slots);

if (empty_slots < 0)
return -EOVERFLOW;
--
2.37.0.rc0.161.g10f37bed90-goog


2022-07-09 00:05:52

by Nick Desaulniers

[permalink] [raw]
Subject: Re: [PATCH] mei: me: fix clang -Wformat warning

On Fri, Jul 8, 2022 at 1:36 PM Justin Stitt <[email protected]> wrote:
>
> When building with Clang we encounter the following warning:
> | drivers/misc/mei/hw-me.c:564:44: error: format specifies type 'unsigned
> | short' but the argument has type 'int' [-Werror,-Wformat]
> | dev_dbg(dev->dev, "empty slots = %hu.\n", empty_slots);
>
> The format specifier used is `%hu` which specifies an unsigned short,
> however, empty_slots is an int -- hence the warning.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/378
> Signed-off-by: Justin Stitt <[email protected]>

Thanks for the patch! This fixes the warning I observe when building
x86_64 allmodconfig with -Wno-format removed.
Reviewed-by: Nick Desaulniers <[email protected]>
Tested-by: Nick Desaulniers <[email protected]>

> ---
> drivers/misc/mei/hw-me.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/misc/mei/hw-me.c b/drivers/misc/mei/hw-me.c
> index befa491e3344..3a95fe7d4e33 100644
> --- a/drivers/misc/mei/hw-me.c
> +++ b/drivers/misc/mei/hw-me.c
> @@ -561,7 +561,7 @@ static int mei_me_hbuf_write(struct mei_device *dev,
> dev_dbg(dev->dev, MEI_HDR_FMT, MEI_HDR_PRM((struct mei_msg_hdr *)hdr));
>
> empty_slots = mei_hbuf_empty_slots(dev);
> - dev_dbg(dev->dev, "empty slots = %hu.\n", empty_slots);
> + dev_dbg(dev->dev, "empty slots = %d.\n", empty_slots);
>
> if (empty_slots < 0)
> return -EOVERFLOW;
> --
> 2.37.0.rc0.161.g10f37bed90-goog
>


--
Thanks,
~Nick Desaulniers