Re: [PATCH] nfc: s3fwrn5: fix undefined parameter values in dev_err()

From: tangbin
Date: Tue Jul 27 2021 - 21:32:54 EST


Hi Nathan:

On 2021/7/28 1:34, Nathan Chancellor wrote:
On Tue, Jul 27, 2021 at 08:25:06PM +0800, Tang Bin wrote:
In the function s3fwrn5_fw_download(), the 'ret' is not assigned,
so the correct value should be given in dev_err function.

Fixes: a0302ff5906a ("nfc: s3fwrn5: remove unnecessary label")
Signed-off-by: Zhang Shengju <zhangshengju@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Tang Bin <tangbin@xxxxxxxxxxxxxxxxxxxx>
This clears up a clang warning that I see:

drivers/nfc/s3fwrn5/firmware.c:425:41: error: variable 'ret' is uninitialized when used here [-Werror,-Wuninitialized]
"Cannot allocate shash (code=%d)\n", ret);
^~~
./include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err'
dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~
./include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
_p_func(dev, fmt, ##__VA_ARGS__); \
^~~~~~~~~~~
drivers/nfc/s3fwrn5/firmware.c:416:9: note: initialize the variable 'ret' to silence this warning
int ret;
^
= 0
1 error generated.

One comment below but regardless:

Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx>

---
drivers/nfc/s3fwrn5/firmware.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/nfc/s3fwrn5/firmware.c b/drivers/nfc/s3fwrn5/firmware.c
index 1421ffd46d9a..52c6f76adfb2 100644
--- a/drivers/nfc/s3fwrn5/firmware.c
+++ b/drivers/nfc/s3fwrn5/firmware.c
@@ -422,7 +422,7 @@ int s3fwrn5_fw_download(struct s3fwrn5_fw_info *fw_info)
tfm = crypto_alloc_shash("sha1", 0, 0);
if (IS_ERR(tfm)) {
dev_err(&fw_info->ndev->nfc_dev->dev,
- "Cannot allocate shash (code=%d)\n", ret);
+ "Cannot allocate shash (code=%d)\n", PTR_ERR(tfm));
We know this is going to be an error pointer so this could be changed to

"Cannot allocate shash (code=%pe)\n", tfm);

to make it a little cleaner to understand. See commit 57f5677e535b
("printf: add support for printing symbolic error names").

Got it. My patch is looks like a revert, so in the dev_err I used 'PTR_ERR(tfm)'. After your suggestion,

I will send V2 for you.

Thanks

Tang Bin




return PTR_ERR(tfm);
}
--
2.18.2
Cheers,
Nathan