Messages in this thread Patch in this message | | | Date | Mon, 24 Feb 2020 14:27:35 +0300 | From | Dan Carpenter <> | Subject | Re: [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
| |