wifi: rtl8xxxu: Fix reads of uninitialized variables hw_ctrl_s1, sw_ctrl_s1
authorColin Ian King <colin.i.king@gmail.com>
Thu, 20 Oct 2022 13:57:09 +0000 (14:57 +0100)
committerKalle Valo <kvalo@kernel.org>
Fri, 21 Oct 2022 12:54:06 +0000 (15:54 +0300)
commit80e5acb6dd72b25a6e6527443b9e9c1c3a7bcef6
tree1feec57093b02302797d8d4304b6ec39871db63a
parent55549d6a3052990e65727bfec158e1b0e7cec4e4
wifi: rtl8xxxu: Fix reads of uninitialized variables hw_ctrl_s1, sw_ctrl_s1

Variables hw_ctrl_s1 and sw_ctrl_s1 are not being initialized and
potentially can contain any garbage value. Currently there is an if
statement that sets one or the other of these variables, followed
by an if statement that checks if any of these variables have been
set to a non-zero value. In the case where they may contain
uninitialized non-zero values, the latter if statement may be
taken as true when it was not expected to.

Fix this by ensuring hw_ctrl_s1 and sw_ctrl_s1 are initialized.

Cleans up clang warning:
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c:432:7: warning:
variable 'hw_ctrl_s1' is used uninitialized whenever 'if' condition is
false [-Wsometimes-uninitialized]
                if (hw_ctrl) {
                    ^~~~~~~
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c:440:7: note: uninitialized
use occurs here
                if (hw_ctrl_s1 || sw_ctrl_s1) {
                    ^~~~~~~~~~
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c:432:3: note: remove the 'if'
if its condition is always true
                if (hw_ctrl) {
                ^~~~~~~~~~~~~

Fixes: c888183b21f3 ("wifi: rtl8xxxu: Support new chip RTL8188FU")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20221020135709.1549086-1-colin.i.king@gmail.com
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188f.c