]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
rtw88: avoid FW info flood
authorYan-Hsuan Chuang <yhchuang@realtek.com>
Fri, 25 Oct 2019 09:33:45 +0000 (17:33 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 31 Oct 2019 08:03:51 +0000 (10:03 +0200)
The FW info was printed everytime driver is powered on, such as
leaving IDLE state. It will flood the kernel log.

Move the FW info printing to callback when FW is loaded, so
that will only be printed once when device is probed.

Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtw88/mac.c
drivers/net/wireless/realtek/rtw88/main.c

index c471117b14724a44a02919e8245196a99d6d9020..507970387b2ae6b058a1f682d97bbbd36c76755d 100644 (file)
@@ -567,21 +567,6 @@ download_firmware_to_mem(struct rtw_dev *rtwdev, const u8 *data,
        return 0;
 }
 
-static void update_firmware_info(struct rtw_dev *rtwdev,
-                                struct rtw_fw_state *fw)
-{
-       const struct rtw_fw_hdr *fw_hdr =
-                               (const struct rtw_fw_hdr *)fw->firmware->data;
-
-       fw->h2c_version = le16_to_cpu(fw_hdr->h2c_fmt_ver);
-       fw->version = le16_to_cpu(fw_hdr->version);
-       fw->sub_version = fw_hdr->subversion;
-       fw->sub_index = fw_hdr->subindex;
-
-       rtw_info(rtwdev, "Firmware version %u.%u.%u, H2C version %u\n",
-                fw->version, fw->sub_version, fw->sub_index, fw->h2c_version);
-}
-
 static int
 start_download_firmware(struct rtw_dev *rtwdev, const u8 *data, u32 size)
 {
@@ -698,8 +683,6 @@ int rtw_download_firmware(struct rtw_dev *rtwdev, struct rtw_fw_state *fw)
        if (ret)
                goto dlfw_fail;
 
-       update_firmware_info(rtwdev, fw);
-
        /* reset desc and index */
        rtw_hci_setup(rtwdev);
 
index 7c1b89c4fb6c8093ae69378fe4689b2eb09a2c08..021668f1b74f620f4da18a8337cfb36983b2e590 100644 (file)
@@ -1022,12 +1022,22 @@ static void rtw_load_firmware_cb(const struct firmware *firmware, void *context)
 {
        struct rtw_dev *rtwdev = context;
        struct rtw_fw_state *fw = &rtwdev->fw;
+       const struct rtw_fw_hdr *fw_hdr;
 
        if (!firmware)
                rtw_err(rtwdev, "failed to request firmware\n");
 
+       fw_hdr = (const struct rtw_fw_hdr *)firmware->data;
+       fw->h2c_version = le16_to_cpu(fw_hdr->h2c_fmt_ver);
+       fw->version = le16_to_cpu(fw_hdr->version);
+       fw->sub_version = fw_hdr->subversion;
+       fw->sub_index = fw_hdr->subindex;
+
        fw->firmware = firmware;
        complete_all(&fw->completion);
+
+       rtw_info(rtwdev, "Firmware version %u.%u.%u, H2C version %u\n",
+                fw->version, fw->sub_version, fw->sub_index, fw->h2c_version);
 }
 
 static int rtw_load_firmware(struct rtw_dev *rtwdev, const char *fw_name)