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

From: Christian Hewitt

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


> On 2 Mar 2026, at 9:47 am, Ping-Ke Shih <pkshih@xxxxxxxxxxx> wrote:
>
> 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?

It’s another intermittent behaviour observed on this board (and not
related to the issue this patch targets). It occurs less frequently
than the efuse issue and the existing retry mechanism in the driver
ensures firmware load always succeeds.

> 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.

I can experiment but this doesn’t happen often so I probably can’t
provide meaningful feedback.

Christian

> 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
>>
>
>