]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
wifi: rtw89: retry efuse physical map dump on transient failure
authorChristian Hewitt <christianshewitt@gmail.com>
Tue, 17 Mar 2026 11:21:55 +0000 (11:21 +0000)
committerPing-Ke Shih <pkshih@realtek.com>
Mon, 30 Mar 2026 01:43:51 +0000 (09:43 +0800)
commitd92f6ad6483e6d430c8273eeb7be97ce85244bd5
tree75d6b2789187f422dc7ae0ac1862a21f25ad6a1d
parent737e980e12983bb7420a2c00b981a1e607079a84
wifi: rtw89: retry efuse physical map dump on transient failure

On Radxa Rock 5B with a RTL8852BE combo WiFi/BT card, the efuse
physical map dump intermittently fails with -EBUSY during probe.
The failure occurs in rtw89_dump_physical_efuse_map_ddv() where
read_poll_timeout_atomic() times out waiting for the B_AX_EF_RDY
bit after 1 second.

The root cause is a timing race during boot: the WiFi driver's
chip initialization (firmware download via PCIe) overlaps with
Bluetooth firmware download to the same combo chip via USB. This
can leave the efuse controller temporarily unavailable when the
WiFi driver attempts to read the efuse map.

The firmware download path retries up to 5 times, but the efuse
read that follows has no similar logic. Address this by adding
retry loop logic (also up to 5 attempts) around physical efuse
map dump.

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260317112155.1939569-1-christianshewitt@gmail.com
drivers/net/wireless/realtek/rtw89/efuse.c