diff mbox series

rtw88: Initialize ret in rtw_wow_check_fw_status

Message ID 20200130013308.16395-1-natechancellor@gmail.com (mailing list archive)
State Changes Requested
Delegated to: Kalle Valo
Headers show
Series rtw88: Initialize ret in rtw_wow_check_fw_status | expand

Commit Message

Nathan Chancellor Jan. 30, 2020, 1:33 a.m. UTC
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@gmail.com>
---
 drivers/net/wireless/realtek/rtw88/wow.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Tony Chuang Jan. 31, 2020, 10:23 a.m. UTC | #1
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@gmail.com>
> ---
>  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
Kalle Valo Jan. 31, 2020, 11:03 a.m. UTC | #2
Tony Chuang <yhchuang@realtek.com> writes:

> 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@gmail.com>
>> ---
>>  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".

Please send it separately so that I can queue it to v5.6.
diff mbox series

Patch

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)