[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