From 247a3a18598366ec6fe75d4232bdad5ce8d465a6 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Tue, 9 May 2023 13:59:42 -0700 Subject: [PATCH] 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 ../. --- monitor/intel.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/monitor/intel.c b/monitor/intel.c index 2584cf5..4bf4ed9 100755 --- a/monitor/intel.c +++ b/monitor/intel.c @@ -1605,7 +1605,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) { -- 2.7.4