Re: [PATCH] staging: rtl8723bs: core: remove redundant zero'ing of counter variable k

Dan Carpenter
2020-02-24T11:27:58Z

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