summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2023-05-09 13:59:42 -0700
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2023-05-09 13:59:42 -0700
commit89f8d6bae18f853ae2ab9f6de21b62469f82d84c (patch)
tree40a363257a2e2966b9710c5a19cbd52f2e587063
parentacfa41dedb47f1bff9399e2273e4623aac4decc5 (diff)
downloadbluez-89f8d6bae18f853ae2ab9f6de21b62469f82d84c.tar.gz
monitor/intel: Fix not skipping unknown TLV types
The code was stopping at first time it detected an unknown TLV type when it could continue: > HCI Event: Vendor (0xff) plen 82 Vendor Prefix (0x8780) Intel Extended Telemetry (0x03) Extended event type (0x01): Audio Link Quality Report Type (0x05) Unknown extended subevent 0x81 01 01 05 81 04 88 13 00 00 82 10 6a e6 6c 00 00 ...........j.l.. 00 00 00 4b 45 53 00 00 00 00 00 83 04 00 00 00 ...KES.......... 00 84 04 01 03 07 19 85 04 3f 08 00 00 86 08 00 .........?...... 00 00 00 00 00 00 00 87 04 00 00 00 00 88 04 00 ................ 00 00 00 89 04 00 00 00 00 8a 04 b9 49 0c 00 ............I.. So this changes it to: > HCI Event: Vendor (0xff) plen 82 Vendor Prefix (0x8780) Intel Extended Telemetry (0x03) Extended event type (0x01): Audio Link Quality Report Type (0x05) Unknown extended subevent 0x81 88 13 00 00 .... Unknown extended subevent 0x82 04 97 6c 00 00 00 00 00 68 44 53 00 00 00 00 00 ..l.....hDS..... Unknown extended subevent 0x83 00 00 00 00 .... Unknown extended subevent 0x84 01 03 07 19 .... Unknown extended subevent 0x85 3a 08 00 00 :... Unknown extended subevent 0x86 00 00 00 00 00 00 00 00 ........ Unknown extended subevent 0x87 00 00 00 00 .... Unknown extended subevent 0x88 00 00 00 00 .... Unknown extended subevent 0x89 00 00 00 00 .... Unknown extended subevent 0x8a 9f 1a 2f 00 ../.
-rw-r--r--monitor/intel.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/monitor/intel.c b/monitor/intel.c
index f5e9f5932..416f52503 100644
--- a/monitor/intel.c
+++ b/monitor/intel.c
@@ -1606,7 +1606,8 @@ static const struct intel_tlv *process_ext_subevent(const struct intel_tlv *tlv,
print_text(COLOR_UNKNOWN_EXT_EVENT,
"Unknown extended subevent 0x%2.2x",
tlv->subevent_id);
- return NULL;
+ packet_hexdump(tlv->value, tlv->length);
+ return next_tlv;
}
if (tlv->length != subevent->length) {