summarylogtreecommitdiffstats
path: root/0201-rtl_bt_fix_load_firmware.patch
diff options
context:
space:
mode:
Diffstat (limited to '0201-rtl_bt_fix_load_firmware.patch')
-rw-r--r--0201-rtl_bt_fix_load_firmware.patch83
1 files changed, 83 insertions, 0 deletions
diff --git a/0201-rtl_bt_fix_load_firmware.patch b/0201-rtl_bt_fix_load_firmware.patch
new file mode 100644
index 000000000000..67724ec6348b
--- /dev/null
+++ b/0201-rtl_bt_fix_load_firmware.patch
@@ -0,0 +1,83 @@
+From: Meng Tang <tangmeng@uniontech.com>
+To: marcel@holtmann.org, johan.hedberg@gmail.com, luiz.dentz@gmail.com
+Cc: linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org,
+ Meng Tang <tangmeng@uniontech.com>
+Subject: [PATCH v2] Bluetooth: btrtl: btmrvl: Fix firmware filename for rtl chipset
+Date: Fri, 11 Mar 2022 11:27:20 +0800 [thread overview]
+Message-ID: <20220311032720.28499-1-tangmeng@uniontech.com> (raw)
+
+Firmware for rtl chipset is as part of the linux-firmware repository
+in dir linux-firmware/rtl_bt. Today, the rtl8761a_config,
+rtl8821a_config, rtl8723b_config and rtl8723bs_config files are used
+in btrtl, but it doesn't actually exist, which causes errors like:
+
+bluetooth: Direct firmware load for rtl_bt/rtl8821a_config.bin
+ failed with error -2
+
+According to the files in the rtl_bt directory in the Linux firmware,
+fixes the driver to load correct firmware file for rtl.
+
+Signed-off-by: Meng Tang <tangmeng@uniontech.com>
+---
+ drivers/bluetooth/btrtl.c | 13 +++++--------
+ 1 file changed, 5 insertions(+), 8 deletions(-)
+
+diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
+index c2030f7e25b4..e3cfe0dff07d 100644
+--- a/drivers/bluetooth/btrtl.c
++++ b/drivers/bluetooth/btrtl.c
+@@ -88,14 +88,14 @@ static const struct id_table ic_id_table[] = {
+ .config_needed = true,
+ .has_rom_version = true,
+ .fw_name = "rtl_bt/rtl8723bs_fw.bin",
+- .cfg_name = "rtl_bt/rtl8723bs_config" },
++ .cfg_name = "rtl_bt/rtl8723bs_config-OBDA8723" },
+
+ /* 8723B */
+ { IC_INFO(RTL_ROM_LMP_8723B, 0xb, 0x6, HCI_USB),
+ .config_needed = false,
+ .has_rom_version = true,
+ .fw_name = "rtl_bt/rtl8723b_fw.bin",
+- .cfg_name = "rtl_bt/rtl8723b_config" },
++ .cfg_name = NULL },
+
+ /* 8723D */
+ { IC_INFO(RTL_ROM_LMP_8723B, 0xd, 0x8, HCI_USB),
+@@ -116,7 +116,7 @@ static const struct id_table ic_id_table[] = {
+ .config_needed = false,
+ .has_rom_version = true,
+ .fw_name = "rtl_bt/rtl8821a_fw.bin",
+- .cfg_name = "rtl_bt/rtl8821a_config" },
++ .cfg_name = NULL },
+
+ /* 8821C */
+ { IC_INFO(RTL_ROM_LMP_8821A, 0xc, 0x8, HCI_USB),
+@@ -131,7 +131,7 @@ static const struct id_table ic_id_table[] = {
+ .config_needed = false,
+ .has_rom_version = true,
+ .fw_name = "rtl_bt/rtl8761a_fw.bin",
+- .cfg_name = "rtl_bt/rtl8761a_config" },
++ .cfg_name = NULL },
+
+ /* 8761B */
+ { IC_INFO(RTL_ROM_LMP_8761A, 0xb, 0xa, HCI_UART),
+@@ -921,15 +921,12 @@ MODULE_VERSION(VERSION);
+ MODULE_LICENSE("GPL");
+ MODULE_FIRMWARE("rtl_bt/rtl8723a_fw.bin");
+ MODULE_FIRMWARE("rtl_bt/rtl8723b_fw.bin");
+-MODULE_FIRMWARE("rtl_bt/rtl8723b_config.bin");
+ MODULE_FIRMWARE("rtl_bt/rtl8723bs_fw.bin");
+-MODULE_FIRMWARE("rtl_bt/rtl8723bs_config.bin");
++MODULE_FIRMWARE("rtl_bt/rtl8723bs_config-OBDA8723.bin");
+ MODULE_FIRMWARE("rtl_bt/rtl8723ds_fw.bin");
+ MODULE_FIRMWARE("rtl_bt/rtl8723ds_config.bin");
+ MODULE_FIRMWARE("rtl_bt/rtl8761a_fw.bin");
+-MODULE_FIRMWARE("rtl_bt/rtl8761a_config.bin");
+ MODULE_FIRMWARE("rtl_bt/rtl8821a_fw.bin");
+-MODULE_FIRMWARE("rtl_bt/rtl8821a_config.bin");
+ MODULE_FIRMWARE("rtl_bt/rtl8822b_fw.bin");
+ MODULE_FIRMWARE("rtl_bt/rtl8822b_config.bin");
+ MODULE_FIRMWARE("rtl_bt/rtl8852au_fw.bin");
+--
+2.20.1
+