Skip to content

Commit

Permalink
rtw88: avoid FW info flood
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Yan-Hsuan Chuang authored and Kalle Valo committed Oct 31, 2019
1 parent 18a0696 commit 5195b90
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 17 deletions.
17 changes: 0 additions & 17 deletions drivers/net/wireless/realtek/rtw88/mac.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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);

Expand Down
10 changes: 10 additions & 0 deletions drivers/net/wireless/realtek/rtw88/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 5195b90

Please sign in to comment.