summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/realtek
diff options
context:
space:
mode:
authorBitterblue Smith <rtl8821cerfe2@gmail.com>2026-03-26 17:22:33 +0200
committerPing-Ke Shih <pkshih@realtek.com>2026-04-02 10:45:46 +0800
commitc2ca7b9d27f8806772687b547ae08a1127fbe3f9 (patch)
tree0a63e128a0b6e101d54b322f1307c0cd3acd7248 /drivers/net/wireless/realtek
parent249716daa9955f9fb8a9a80ed99b3b9071a838de (diff)
downloadlwn-c2ca7b9d27f8806772687b547ae08a1127fbe3f9.tar.gz
lwn-c2ca7b9d27f8806772687b547ae08a1127fbe3f9.zip
wifi: rtw89: Fill fw_version member of struct wiphy
Let userspace tools like lshw show the firmware version by filling the fw_version member of struct wiphy. Before: configuration: broadcast=yes driver=rtw89_8852au driverversion=6.19.6-arch1-1 firmware=N/A link=no multicast=yes wireless=IEEE 802.11 After: configuration: broadcast=yes driver=rtw89_8852au driverversion=6.19.6-arch1-1 firmware=0.13.36.2 link=no multicast=yes wireless=IEEE 802.11 Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/a46ed12c-387c-4063-849c-c6457bf97810@gmail.com
Diffstat (limited to 'drivers/net/wireless/realtek')
-rw-r--r--drivers/net/wireless/realtek/rtw89/fw.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c
index 52db41c67265..17704f054727 100644
--- a/drivers/net/wireless/realtek/rtw89/fw.c
+++ b/drivers/net/wireless/realtek/rtw89/fw.c
@@ -730,6 +730,7 @@ static int rtw89_fw_update_ver(struct rtw89_dev *rtwdev,
{
const struct rtw89_fw_hdr *v0 = (const struct rtw89_fw_hdr *)fw_suit->data;
const struct rtw89_fw_hdr_v1 *v1 = (const struct rtw89_fw_hdr_v1 *)fw_suit->data;
+ struct wiphy *wiphy = rtwdev->hw->wiphy;
if (type == RTW89_FW_LOGFMT)
return 0;
@@ -755,6 +756,13 @@ static int rtw89_fw_update_ver(struct rtw89_dev *rtwdev,
fw_suit->major_ver, fw_suit->minor_ver, fw_suit->sub_ver,
fw_suit->sub_idex, fw_suit->commitid, fw_suit->cmd_ver, type);
+ if (type == RTW89_FW_NORMAL || type == RTW89_FW_NORMAL_CE ||
+ type == RTW89_FW_NORMAL_B)
+ snprintf(wiphy->fw_version, sizeof(wiphy->fw_version),
+ "%u.%u.%u.%u",
+ fw_suit->major_ver, fw_suit->minor_ver,
+ fw_suit->sub_ver, fw_suit->sub_idex);
+
return 0;
}