From c9c640845a2da804dc9371af3efc3dfa11098a68 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Mon, 1 Mar 2021 14:15:25 -0800 Subject: [PATCH] monitor: Fix BIG Create Sync decoding Number of Bis is actually at the end of the PDU, also avoid prefixing with big when it is implied by the struct name. Signed-off-by: Anuj Jain Signed-off-by: Ayush Garg --- monitor/bt.h | 4 ++-- monitor/packet.c | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/monitor/bt.h b/monitor/bt.h index 31f055d..a875279 100755 --- a/monitor/bt.h +++ b/monitor/bt.h @@ -2731,13 +2731,13 @@ struct bt_hci_bis_sync { } __attribute__ ((packed)); struct bt_hci_cmd_le_big_create_sync { - uint8_t big_id; + uint8_t handle; uint16_t sync_handle; - uint8_t num_bis; uint8_t encryption; uint8_t bcode[16]; uint8_t mse; uint16_t timeout; + uint8_t num_bis; struct bt_hci_bis_sync bis[0]; } __attribute__ ((packed)); diff --git a/monitor/packet.c b/monitor/packet.c index c415c9b..518bdcd 100755 --- a/monitor/packet.c +++ b/monitor/packet.c @@ -8053,13 +8053,16 @@ static void le_big_create_sync_cmd(const void *data, uint8_t size) { const struct bt_hci_cmd_le_big_create_sync *cmd = data; - print_field("BIG ID: 0x%2.2x", cmd->big_id); - print_field("Number of BIS: %u", cmd->num_bis); - print_field("Encryption: 0x%2.2x", cmd->encryption); + print_field("BIG Handle: 0x%2.2x", cmd->handle); + print_field("BIG Sync Handle: 0x%4.4x", le16_to_cpu(cmd->sync_handle)); + print_field("Encryption: %s (0x%2.2x)", + cmd->encryption ? "Unencrypted" : "Encrypted", + cmd->encryption); print_hex_field("Broadcast Code", cmd->bcode, 16); - print_field("Number Subevents: 0x%2.2x", cmd->mse); + print_field("Maximum Number Subevents: 0x%2.2x", cmd->mse); print_field("Timeout: %d ms (0x%4.4x)", le16_to_cpu(cmd->timeout) * 10, le16_to_cpu(cmd->timeout)); + print_field("Number of BIS: %u", cmd->num_bis); size -= sizeof(*cmd); -- 2.7.4