RE: [PATCH] rtw88: Initialize ret in rtw_wow_check_fw_status

From: Tony Chuang
Date: Fri Jan 31 2020 - 05:23:55 EST


From: Nathan Chancellor
> Subject: [PATCH] rtw88: Initialize ret in rtw_wow_check_fw_status
>
> Clang warns a few times (trimmed for brevity):
>
> ../drivers/net/wireless/realtek/rtw88/wow.c:295:7: warning: variable
> 'ret' is used uninitialized whenever 'if' condition is false
> [-Wsometimes-uninitialized]
>
> Initialize ret to true and change the other assignments to false because
> it is a boolean value.
>
> Fixes: 44bc17f7f5b3 ("rtw88: support wowlan feature for 8822c")
> Link: https://github.com/ClangBuiltLinux/linux/issues/850
> Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx>
> ---
> drivers/net/wireless/realtek/rtw88/wow.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/realtek/rtw88/wow.c
> b/drivers/net/wireless/realtek/rtw88/wow.c
> index af5c27e1bb07..5db49802c72c 100644
> --- a/drivers/net/wireless/realtek/rtw88/wow.c
> +++ b/drivers/net/wireless/realtek/rtw88/wow.c
> @@ -283,18 +283,18 @@ static void rtw_wow_rx_dma_start(struct rtw_dev
> *rtwdev)
>
> static bool rtw_wow_check_fw_status(struct rtw_dev *rtwdev, bool
> wow_enable)
> {
> - bool ret;
> + bool ret = true;
>
> /* wait 100ms for wow firmware to finish work */
> msleep(100);
>
> if (wow_enable) {
> if (!rtw_read8(rtwdev, REG_WOWLAN_WAKE_REASON))
> - ret = 0;
> + ret = false;
> } else {
> if (rtw_read32_mask(rtwdev, REG_FE1IMR, BIT_FS_RXDONE) == 0
> &&
> rtw_read32_mask(rtwdev, REG_RXPKT_NUM,
> BIT_RW_RELEASE) == 0)
> - ret = 0;
> + ret = false;
> }
>
> if (ret)
> --
> 2.25.0

NACK.

This patch could lead to incorrect behavior of WOW.
I will send a new patch to fix it, and change the type to "int".

Yan-Hsuan