Re: [PATCH] rtw88: Initialize ret in rtw_wow_check_fw_status
From: Kalle Valo
Date: Fri Jan 31 2020 - 06:04:03 EST
Tony Chuang <yhchuang@xxxxxxxxxxx> 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@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".
Please send it separately so that I can queue it to v5.6.
--
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches