Modify trycnt condition in the do/while loop of rtw_hal_set_hwreg to use a prefix decrement operator instead of postfix. As an unsigned 8-bit integer, this value would actually be 255 after the end of the do/while loop, which is almost certainly not what was intended. It is more reasonable to assume a loop counter should be zero at the end of all loop iterations. Indeed, the line following the loop previously contained an if statement which assumed trycnt was 0, and therefore was never triggered. Signed-off-by: Phillip Potter <phil@xxxxxxxxxxxxxxxx> --- drivers/staging/rtl8188eu/hal/usb_halinit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8188eu/hal/usb_halinit.c b/drivers/staging/rtl8188eu/hal/usb_halinit.c index 0c3f11411eae..dcdf868b394d 100644 --- a/drivers/staging/rtl8188eu/hal/usb_halinit.c +++ b/drivers/staging/rtl8188eu/hal/usb_halinit.c @@ -1657,7 +1657,7 @@ void rtw_hal_set_hwreg(struct adapter *Adapter, u8 variable, u8 *val) do { if (!(usb_read32(Adapter, REG_RXPKT_NUM) & RXDMA_IDLE)) break; - } while (trycnt--); + } while (--trycnt); /* RQPN Load 0 */ usb_write16(Adapter, REG_RQPN_NPQ, 0x0); -- 2.30.2