Commit 8362bf82 authored by Nathan Chancellor's avatar Nathan Chancellor Committed by Dmitry Torokhov

Input: mcs-touchkey - fix uninitialized use of error in mcs_touchkey_probe()

Clang warns (or errors with CONFIG_WERROR=y):

  drivers/input/keyboard/mcs_touchkey.c:149:49: error: variable 'error' is uninitialized when used here [-Werror,-Wuninitialized]
    149 |                 dev_err(&client->dev, "i2c read error[%d]\n", error);
        |                                                               ^~~~~
  include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err'
    144 |         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'
    110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
        |                                     ^~~~~~~~~~~
  drivers/input/keyboard/mcs_touchkey.c:110:11: note: initialize the variable 'error' to silence this warning
    110 |         int error;
        |                  ^
        |                   = 0
  1 error generated.

A refactoring updated the error handling in this block but did not
update the dev_err() call to use fw_ver instead of error. Do so now to
fix the warning and avoid printing uninitialized memory.

Closes: https://github.com/ClangBuiltLinux/linux/issues/1893
Fixes: e175eae1 ("Input: mcs-touchkey - convert to use devm_* api")
Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
Link: https://lore.kernel.org/r/20230725-mcs_touchkey-fix-wuninitialized-v1-1-615db39af51c@kernel.orgSigned-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 447c0954
...@@ -146,7 +146,7 @@ static int mcs_touchkey_probe(struct i2c_client *client) ...@@ -146,7 +146,7 @@ static int mcs_touchkey_probe(struct i2c_client *client)
fw_ver = i2c_smbus_read_byte_data(client, fw_reg); fw_ver = i2c_smbus_read_byte_data(client, fw_reg);
if (fw_ver < 0) { if (fw_ver < 0) {
dev_err(&client->dev, "i2c read error[%d]\n", error); dev_err(&client->dev, "i2c read error[%d]\n", fw_ver);
return fw_ver; return fw_ver;
} }
dev_info(&client->dev, "Firmware version: %d\n", fw_ver); dev_info(&client->dev, "Firmware version: %d\n", fw_ver);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment