staging: r8188eu: improve timeout handling in iol_execute
authorMartin Kaiser <martin@kaiser.cx>
Sat, 9 Apr 2022 16:32:10 +0000 (18:32 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Apr 2022 13:49:58 +0000 (15:49 +0200)
Use the standard kernel functions to define and check the timeout in
iol_execute.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20220409163212.241122-9-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/hal/rtl8188e_hal_init.c

index 6091388..efdadfb 100644 (file)
@@ -33,17 +33,16 @@ static s32 iol_execute(struct adapter *padapter, u8 control)
 {
        s32 status = _FAIL;
        u8 reg_0x88 = 0;
-       u32 start = 0, passing_time = 0;
+       unsigned long timeout;
 
        control = control & 0x0f;
        reg_0x88 = rtw_read8(padapter, REG_HMEBOX_E0);
        rtw_write8(padapter, REG_HMEBOX_E0,  reg_0x88 | control);
 
-       start = jiffies;
+       timeout = jiffies + msecs_to_jiffies(1000);
        while ((reg_0x88 = rtw_read8(padapter, REG_HMEBOX_E0)) & control &&
-              (passing_time = rtw_get_passing_time_ms(start)) < 1000) {
+               time_before(jiffies, timeout))
                ;
-       }
 
        reg_0x88 = rtw_read8(padapter, REG_HMEBOX_E0);
        status = (reg_0x88 & control) ? _FAIL : _SUCCESS;