aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorPing-Ke Shih <pkshih@realtek.com>2025-02-27 21:12:28 +0800
committerPing-Ke Shih <pkshih@realtek.com>2025-03-05 19:46:52 +0800
commitad26d0dcb3bd5864c5295746bd4fef6376911da6 (patch)
treed63abd3d5d89d07bce9f3ad3e60119e94ec88637
parentwifi: rtw89: fw: correct debug message format in rtw89_build_txpwr_trk_tbl_from_elm() (diff)
downloadwireguard-linux-ad26d0dcb3bd5864c5295746bd4fef6376911da6.tar.xz
wireguard-linux-ad26d0dcb3bd5864c5295746bd4fef6376911da6.zip
wifi: rtw89: fw: don't reject firmware in blacklist to prevent breaking users
Once update driver blacklist of firmware, users' firmware might be in the list, and then driver stops working. Since breaking users is not expected, report a significant message instead of stopping. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20250227131228.8457-5-pkshih@realtek.com
-rw-r--r--drivers/net/wireless/realtek/rtw89/fw.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c
index 15d6bda1fcf0..d0a246f415ff 100644
--- a/drivers/net/wireless/realtek/rtw89/fw.c
+++ b/drivers/net/wireless/realtek/rtw89/fw.c
@@ -372,7 +372,7 @@ static int __check_secure_blacklist(struct rtw89_dev *rtwdev,
return 0;
if (!chip_blacklist) {
- rtw89_err(rtwdev, "chip no blacklist for secure firmware\n");
+ rtw89_warn(rtwdev, "chip no blacklist for secure firmware\n");
return -ENOENT;
}
@@ -380,14 +380,14 @@ static int __check_secure_blacklist(struct rtw89_dev *rtwdev,
bit_mask = BIT(section_content->blacklist.bit_in_chip_list & 0x7);
if (section_content->blacklist.ver > chip_blacklist->ver) {
- rtw89_err(rtwdev, "chip blacklist out of date (%u, %u)\n",
- section_content->blacklist.ver, chip_blacklist->ver);
+ rtw89_warn(rtwdev, "chip blacklist out of date (%u, %u)\n",
+ section_content->blacklist.ver, chip_blacklist->ver);
return -EINVAL;
}
if (chip_blacklist->list[byte_idx] & bit_mask) {
- rtw89_err(rtwdev, "firmware %u in chip blacklist\n",
- section_content->blacklist.ver);
+ rtw89_warn(rtwdev, "firmware %u in chip blacklist\n",
+ section_content->blacklist.ver);
return -EPERM;
}
@@ -427,7 +427,10 @@ static int __parse_security_section(struct rtw89_dev *rtwdev,
info->secure_section_exist = true;
}
- return __check_secure_blacklist(rtwdev, info, section_info, content);
+ ret = __check_secure_blacklist(rtwdev, info, section_info, content);
+ WARN_ONCE(ret, "Current firmware in blacklist. Please update firmware.\n");
+
+ return 0;
}
static int rtw89_fw_hdr_parser_v1(struct rtw89_dev *rtwdev, const u8 *fw, u32 len,