]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: rtw88: Fill fw_version member of struct wiphy
authorBitterblue Smith <rtl8821cerfe2@gmail.com>
Thu, 26 Mar 2026 15:21:19 +0000 (17:21 +0200)
committerPing-Ke Shih <pkshih@realtek.com>
Thu, 2 Apr 2026 02:37:49 +0000 (10:37 +0800)
Let userspace tools like lshw show the firmware version by filling the
fw_version member of struct wiphy.

Before:

configuration: broadcast=yes driver=rtw88_8814au
driverversion=6.19.6-arch1-1 firmware=N/A link=no multicast=yes
wireless=IEEE 802.11

After:

configuration: broadcast=yes driver=rtw88_8814au
driverversion=6.19.6-arch1-1 firmware=33.6.0 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/3701cce1-42c4-4382-9120-cd21012c1b21@gmail.com
drivers/net/wireless/realtek/rtw88/main.c

index c4f9758b4e96f2268882edee9eed75dcf01747ca..cd9254370fcc72c9f7bcca3361a848e22c1f733c 100644 (file)
@@ -1805,6 +1805,7 @@ static void rtw_load_firmware_cb(const struct firmware *firmware, void *context)
 {
        struct rtw_fw_state *fw = context;
        struct rtw_dev *rtwdev = fw->rtwdev;
+       struct wiphy *wiphy = rtwdev->hw->wiphy;
 
        if (!firmware || !firmware->data) {
                rtw_err(rtwdev, "failed to request firmware\n");
@@ -1819,6 +1820,11 @@ static void rtw_load_firmware_cb(const struct firmware *firmware, void *context)
        rtw_info(rtwdev, "%sFirmware version %u.%u.%u, H2C version %u\n",
                 fw->type == RTW_WOWLAN_FW ? "WOW " : "",
                 fw->version, fw->sub_version, fw->sub_index, fw->h2c_version);
+
+       if (fw->type == RTW_NORMAL_FW)
+               snprintf(wiphy->fw_version, sizeof(wiphy->fw_version),
+                        "%u.%u.%u",
+                        fw->version, fw->sub_version, fw->sub_index);
 }
 
 static int rtw_load_firmware(struct rtw_dev *rtwdev, enum rtw_fw_type type)