[PATCH v3] Bluetooth: btusb: re-definition for board_id in struct qca_version
From: tjiang
Date: Thu Nov 04 2021 - 03:01:53 EST
As qc btsoc will using big-endian for boardID, so align host with it.
Signed-off-by: Tim Jiang <tjiang@xxxxxxxxxxxxxx>
---
drivers/bluetooth/btusb.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 46d892bbde62..a51b1d641043 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -2883,7 +2883,7 @@ struct qca_version {
__le32 rom_version;
__le32 patch_version;
__le32 ram_version;
- __le16 board_id;
+ __u8 board_id[2];
__le16 flag;
__u8 reserved[4];
} __packed;
@@ -3072,7 +3072,7 @@ static void btusb_generate_qca_nvm_name(char
*fwname, size_t max_size,
u16 flag = le16_to_cpu(ver->flag);
if (((flag >> 8) & 0xff) == QCA_FLAG_MULTI_NVM) {
- u16 board_id = le16_to_cpu(ver->board_id);
+ u16 board_id = (ver->board_id[0] << 8) + ver->board_id[1];
const char *variant;
switch (le32_to_cpu(ver->ram_version)) {
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora
Forum, a Linux Foundation Collaborative Project