Commit 5e080cd7 authored by Martin Kaiser's avatar Martin Kaiser Committed by Greg Kroah-Hartman
Browse files

staging: r8188eu: improve timeout handling in efuse_read_phymap_from_txpktbuf



Use the standard kernel functions to define and check the timeout in
efuse_read_phymap_from_txpktbuf.

Signed-off-by: default avatarMartin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20220409163212.241122-10-martin@kaiser.cx


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent efe20b73
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -186,8 +186,8 @@ static void efuse_read_phymap_from_txpktbuf(
	u16 *size	/* for efuse content: the max byte to read. will update to byte read */
	)
{
	unsigned long timeout;
	u16 dbg_addr = 0;
	u32 start  = 0, passing_time = 0;
	__le32 lo32 = 0, hi32 = 0;
	u16 len = 0, count = 0;
	int i = 0;
@@ -206,9 +206,8 @@ static void efuse_read_phymap_from_txpktbuf(
		rtw_write16(adapter, REG_PKTBUF_DBG_ADDR, dbg_addr + i);

		rtw_write8(adapter, REG_TXPKTBUF_DBG, 0);
		start = jiffies;
		while (!rtw_read8(adapter, REG_TXPKTBUF_DBG) &&
		       (passing_time = rtw_get_passing_time_ms(start)) < 1000)
		timeout = jiffies + msecs_to_jiffies(1000);
		while (!rtw_read8(adapter, REG_TXPKTBUF_DBG) && time_before(jiffies, timeout))
			rtw_usleep_os(100);

		/* data from EEPROM needs to be in LE */