diff mbox series

[v3,1/2] Bluetooth: btrtl: btmrvl: Fix firmware filename for rtl8723bs chipset

Message ID 20220315095129.15254-1-tangmeng@uniontech.com
State New
Headers show
Series [v3,1/2] Bluetooth: btrtl: btmrvl: Fix firmware filename for rtl8723bs chipset | expand

Commit Message

Meng Tang March 15, 2022, 9:51 a.m. UTC
Firmware for rtl8723bs chipset is as part of the linux-firmware
repository in filename rtl8723bs_config-OBDA8723.bin.

This patch fixes mwifiex driver to load correct firmware file for
rtl8723bs.

Fixes: c50903e3ee1b5 (Bluetooth: btrtl: add support for the RTL8723BS and RTL8723DS chips)

Signed-off-by: Meng Tang <tangmeng@uniontech.com>
---
 drivers/bluetooth/btrtl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Martin Blumenstingl March 15, 2022, 6:49 p.m. UTC | #1
Hello,

On Tue, Mar 15, 2022 at 10:51 AM Meng Tang <tangmeng@uniontech.com> wrote:
>
> Firmware for rtl8723bs chipset is as part of the linux-firmware
> repository in filename rtl8723bs_config-OBDA8723.bin.
>
> This patch fixes mwifiex driver to load correct firmware file for
> rtl8723bs.
This raises some serious questions for me:
- the subject states that this patch is for the btmrvl driver
- mwifiex is for Marvell based chips which to my knowledge are not
related to any Realtek chips, so mwifiex should never try to load
Realtek firmware files

[...]
> @@ -88,7 +88,7 @@ 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" },
This change is incorrect, see btrtl_initialize():
  if (btrtl_dev->ic_info->cfg_name) {
    if (postfix) {
       snprintf(cfg_name, sizeof(cfg_name), "%s-%s.bin",
btrtl_dev->ic_info->cfg_name, postfix);
     } else {
       snprintf(cfg_name, sizeof(cfg_name), "%s.bin",
btrtl_dev->ic_info->cfg_name);

This suffix (postfix) can be either OBDA8723, OBDA0623 or just be
absent - see hci_h5.c (h5_acpi_match, h5_serdev_probe() which sets
h5->id and h5_btrtl_setup() which uses h5->id).

[...]
> -MODULE_FIRMWARE("rtl_bt/rtl8723bs_config.bin");
> +MODULE_FIRMWARE("rtl_bt/rtl8723bs_config-OBDA8723.bin");
According to the driver code "rtl_bt/rtl8723bs_config.bin" is a valid
value so I think it should not be removed.
Adding "rtl_bt/rtl8723bs_config-OBDA8723.bin" is fine for me - if
that's done then "rtl_bt/rtl8723bs_config-OBDA0623.bin" should be
added as well.


Best regards,
Martin
Martin Blumenstingl March 15, 2022, 6:52 p.m. UTC | #2
Hi,

On Tue, Mar 15, 2022 at 10:52 AM Meng Tang <tangmeng@uniontech.com> wrote:
>
> Firmware for rtl chipset is as part of the linux-firmware repository
> in dir linux-firmware/rtl_bt. Today, the rtl8761a_config,
> rtl8821a_config and rtl8723b_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
These config files can be board specific. I don't know the policy for
MODULE_FIRMWARE macros.
Personally I think: if the driver tries to load a specific firmware
file then it's fine to have a MODULE_FIRMWARE entry. Even if this
firmware is not part of the linux-firmware repository.


Best regards,
Martin
Marcel Holtmann March 16, 2022, 3:30 p.m. UTC | #3
Hi Meng,

> Firmware for rtl chipset is as part of the linux-firmware repository
> in dir linux-firmware/rtl_bt. Today, the rtl8761a_config,
> rtl8821a_config and rtl8723b_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.
> 
> Fixes: f96dbd322a8f1 (Bluetooth: btrtl: add MODULE_FIRMWARE declarations)
> Signed-off-by: Meng Tang <tangmeng@uniontech.com>
> ---
> drivers/bluetooth/btrtl.c | 3 ---
> 1 file changed, 3 deletions(-)

I am ignoring this patch since the subject is bogus.

Regards

Marcel
diff mbox series

Patch

diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
index c2030f7e25b4..449858b65e8e 100644
--- a/drivers/bluetooth/btrtl.c
+++ b/drivers/bluetooth/btrtl.c
@@ -88,7 +88,7 @@  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),
@@ -923,7 +923,7 @@  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");