lkml.org 
[lkml]   [2020]   [Feb]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] staging: rtl8723bs: core: remove redundant zero'ing of counter variable k
On Mon, Feb 24, 2020 at 11:07:55AM +0000, Walter Harms wrote:
> diff --git a/drivers/staging/rtl8723bs/core/rtw_efuse.c b/drivers/staging/rtl8723bs/core/rtw_efuse.c
> index 3b8848182221..bdb6ff8aab7d 100644
> --- a/drivers/staging/rtl8723bs/core/rtw_efuse.c
> +++ b/drivers/staging/rtl8723bs/core/rtw_efuse.c
> @@ -244,10 +244,8 @@ u16 Address)
> while (!(Bytetemp & 0x80)) {
> Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3);
> k++;
> - if (k == 1000) {
> - k = 0;
> + if (k == 1000)
> break;
> - }
>
> IMHO this is confusing to read, i suggest:
>
> for(k=0;k<1000;k++) {
> Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3);
> if ( Bytetemp & 0x80 )
> break;
> }
>

The problem with the original code is that the variable is named "k"
instead of "retry". It should be:

do {
Bytetemp = rtw_read8(Adapter, EFUSE_CTRL+3);
} while (!(Bytetemp & 0x80)) && ++retry < 1000);


> NTL is am wondering what will happen if k==1000
> and Bytetemp is still invalid. Will rtw_read8() fail or
> simply return invalid data ?

Yeah. That was my thought reviewing this patch as well.

It should probably return 0xff on failure.

if (retry >= 1000)
return 0xff;

regards,
dan carpenter

\
 
 \ /
  Last update: 2020-02-24 12:29    [W:0.056 / U:1.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site