rtlbt_parse_firmware function sets project_id defined like unnamed
integer constant. But later in the code (btrtl_set_quirks) project_id
is compared against values in btrtl_chip_id enumeration.
Signed-off-by: Andrey Skvortsov <[email protected]>
---
drivers/bluetooth/btrtl.c | 31 ++++++++++++++++---------------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
index 84c2c2e1122f..018d86410b88 100644
--- a/drivers/bluetooth/btrtl.c
+++ b/drivers/bluetooth/btrtl.c
@@ -60,7 +60,8 @@ enum btrtl_chip_id {
CHIP_ID_8723B,
CHIP_ID_8821A,
CHIP_ID_8761A,
- CHIP_ID_8822B = 8,
+ CHIP_ID_8703B = 7,
+ CHIP_ID_8822B,
CHIP_ID_8723D,
CHIP_ID_8821C,
CHIP_ID_8822C = 13,
@@ -631,20 +632,20 @@ static int rtlbt_parse_firmware(struct hci_dev *hdev,
__u16 lmp_subver;
__u8 id;
} project_id_to_lmp_subver[] = {
- { RTL_ROM_LMP_8723A, 0 },
- { RTL_ROM_LMP_8723B, 1 },
- { RTL_ROM_LMP_8821A, 2 },
- { RTL_ROM_LMP_8761A, 3 },
- { RTL_ROM_LMP_8703B, 7 },
- { RTL_ROM_LMP_8822B, 8 },
- { RTL_ROM_LMP_8723B, 9 }, /* 8723D */
- { RTL_ROM_LMP_8821A, 10 }, /* 8821C */
- { RTL_ROM_LMP_8822B, 13 }, /* 8822C */
- { RTL_ROM_LMP_8761A, 14 }, /* 8761B */
- { RTL_ROM_LMP_8852A, 18 }, /* 8852A */
- { RTL_ROM_LMP_8852A, 20 }, /* 8852B */
- { RTL_ROM_LMP_8852A, 25 }, /* 8852C */
- { RTL_ROM_LMP_8851B, 36 }, /* 8851B */
+ { RTL_ROM_LMP_8723A, CHIP_ID_8723A },
+ { RTL_ROM_LMP_8723B, CHIP_ID_8723B },
+ { RTL_ROM_LMP_8821A, CHIP_ID_8821A },
+ { RTL_ROM_LMP_8761A, CHIP_ID_8761A },
+ { RTL_ROM_LMP_8703B, CHIP_ID_8703B },
+ { RTL_ROM_LMP_8822B, CHIP_ID_8822B },
+ { RTL_ROM_LMP_8723B, CHIP_ID_8723D },
+ { RTL_ROM_LMP_8821A, CHIP_ID_8821C },
+ { RTL_ROM_LMP_8822B, CHIP_ID_8822C },
+ { RTL_ROM_LMP_8761A, CHIP_ID_8761B },
+ { RTL_ROM_LMP_8852A, CHIP_ID_8852A },
+ { RTL_ROM_LMP_8852A, CHIP_ID_8852B },
+ { RTL_ROM_LMP_8852A, CHIP_ID_8852C },
+ { RTL_ROM_LMP_8851B, CHIP_ID_8851B },
};
if (btrtl_dev->fw_len <= 8)
--
2.40.1