RE: [PATCH] wifi: rtw89: retry efuse physical map dump on transient failure

From: Ping-Ke Shih

Date: Mon Mar 02 2026 - 00:47:56 EST


Christian Hewitt <christianshewitt@xxxxxxxxx> wrote:
> 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.

I'm checking internally how we handle this case.

[...]

>
> For context, firmware also fails (and recovers) sometimes:

Did you mean this doesn't always happen? sometimes?

We has seen similar log because of 36-bit DMA. Try below to force 32- or 36-
bit DMA to see if it can resolve problem in your platform.

diff --git a/drivers/net/wireless/realtek/rtw89/pci.c b/drivers/net/wireless/realtek/rtw89/pci.c
index 43c61b3dc969..9d003ab93c85 100644
--- a/drivers/net/wireless/realtek/rtw89/pci.c
+++ b/drivers/net/wireless/realtek/rtw89/pci.c
@@ -3305,6 +3305,8 @@ static bool rtw89_pci_is_dac_compatible_bridge(struct rtw89_dev *rtwdev)
if (!bridge)
return false;

+ return true; // or force to return false;
+
switch (bridge->vendor) {
case PCI_VENDOR_ID_INTEL:
return true;

>
> ROCK5B:~ # dmesg | grep rtw89
> [ 6.436873] rtw89_8852be 0002:21:00.0: loaded firmware rtw89/rtw8852b_fw-1.bin
> [ 6.437165] rtw89_8852be 0002:21:00.0: enabling device (0000 -> 0003)
> [ 6.450228] rtw89_8852be 0002:21:00.0: Firmware version 0.29.29.15 (6fb3ec41), cmd version 0, type 5
> [ 6.450239] rtw89_8852be 0002:21:00.0: Firmware version 0.29.29.15 (6fb3ec41), cmd version 0, type 3
> [ 7.864148] rtw89_8852be 0002:21:00.0: fw security fail
> [ 7.864154] rtw89_8852be 0002:21:00.0: download firmware fail
> [ 7.864160] rtw89_8852be 0002:21:00.0: [ERR]fwdl 0x1E0 = 0x62
> [ 7.864165] rtw89_8852be 0002:21:00.0: [ERR]fwdl 0x83F0 = 0x80011
> [ 7.864173] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931150
> [ 7.864188] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931150
> [ 7.864203] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931154
> [ 7.864219] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931154
> [ 7.864234] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931154
> [ 7.864250] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931150
> [ 7.864265] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931150
> [ 7.864281] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931150
> [ 7.864296] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931154
> [ 7.864311] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931154
> [ 7.864327] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931154
> [ 7.864342] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931150
> [ 7.864358] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931154
> [ 7.864373] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931154
> [ 7.864387] rtw89_8852be 0002:21:00.0: [ERR]fw PC = 0xb8931154
> [ 8.181342] rtw89_8852be 0002:21:00.0: chip info CID: 0, CV: 1, AID: 0, ACV: 1, RFE: 1
> [ 8.184322] rtw89_8852be 0002:21:00.0: rfkill hardware state changed to enable
>