Commit 5195b904 authored by Yan-Hsuan Chuang's avatar Yan-Hsuan Chuang Committed by Kalle Valo
Browse files

rtw88: avoid FW info flood



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: default avatarYan-Hsuan Chuang <yhchuang@realtek.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 18a0696e
Loading
Loading
Loading
Loading
+0 −17
Original line number Diff line number Diff line
@@ -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);

+10 −0
Original line number Diff line number Diff line
@@ -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)