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