[PATCH] misc: rtsx: Fix clang -Wsometimes-uninitialized in rts5261_init_from_hw()

From: Nathan Chancellor
Date: Mon May 23 2022 - 11:07:19 EST


Clang warns:

drivers/misc/cardreader/rts5261.c:406:13: error: variable 'setting_reg2' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
} else if (efuse_valid == 0) {
^~~~~~~~~~~~~~~~
drivers/misc/cardreader/rts5261.c:412:30: note: uninitialized use occurs here
pci_read_config_dword(pdev, setting_reg2, &lval2);
^~~~~~~~~~~~

efuse_valid == 1 is not a valid value so just return early from the
function to avoid using setting_reg2 uninitialized.

Fixes: b1c5f3085149 ("misc: rtsx: add rts5261 efuse function")
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Reported-by: Tom Rix <trix@xxxxxxxxxx>
Suggested-by: Ricky WU <ricky_wu@xxxxxxxxxxx>
Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx>
---

This is basically a v2 of https://lore.kernel.org/20220516130047.3887590-1-trix@xxxxxxxxxx/.

drivers/misc/cardreader/rts5261.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/misc/cardreader/rts5261.c b/drivers/misc/cardreader/rts5261.c
index 749cc5a46d13..b1e76030cafd 100644
--- a/drivers/misc/cardreader/rts5261.c
+++ b/drivers/misc/cardreader/rts5261.c
@@ -407,6 +407,8 @@ static void rts5261_init_from_hw(struct rtsx_pcr *pcr)
// default
setting_reg1 = PCR_SETTING_REG1;
setting_reg2 = PCR_SETTING_REG2;
+ } else {
+ return;
}

pci_read_config_dword(pdev, setting_reg2, &lval2);

base-commit: 90de6805267f8c79cd2b1a36805071e257c39b5c
--
2.36.1