[PATCH] wifi: rtw88: use firmware MAC address as fallback

From: YuChia-Kan

Date: Tue Sep 01 2026 - 09:00:30 EST


Some devices provide the Wi-Fi MAC address through firmware instead of
storing a valid address in the chip efuse.

Try to read the MAC address from firmware before falling back to a
randomly generated address.

Signed-off-by: YuChia-Kan <raspberrykan@xxxxxxxxxxxxxx>
---
drivers/net/wireless/realtek/rtw88/main.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw88/main.c b/drivers/net/wireless/realtek/rtw88/main.c
index cd9254370fcc..b9d8e0f5d15e 100644
--- a/drivers/net/wireless/realtek/rtw88/main.c
+++ b/drivers/net/wireless/realtek/rtw88/main.c
@@ -2060,8 +2060,12 @@ static int rtw_chip_efuse_info_setup(struct rtw_dev *rtwdev)
efuse->ext_lna_5g = efuse->lna_type_5g & BIT(3) ? 1 : 0;

if (!is_valid_ether_addr(efuse->addr)) {
- eth_random_addr(efuse->addr);
- dev_warn(rtwdev->dev, "efuse MAC invalid, using random\n");
+ mac_ret = device_get_mac_address(rtwdev->dev, efuse->addr);
+ if (mac_ret) {
+ eth_random_addr(efuse->addr);
+ dev_warn(rtwdev->dev,
+ "failed to get valid MAC address, using random\n");
+ }
}

out_disable:
--
2.53.0