From 6854d8989ebfeef401544130e351552b238ec3f5 Mon Sep 17 00:00:00 2001 From: Pascal Quantin Date: Sat, 23 Aug 2014 13:02:48 +0200 Subject: USB: call USB control dissector table when recipient is "other" Otherwise USB HUB dissector is no more called (see the capture in bug 8161 for an example) Change-Id: Ie8ac1c8ca19bf292d8fc69d9b0b3729f696ffc07 Reviewed-on: https://code.wireshark.org/review/3802 Reviewed-by: Martin Kaiser --- epan/dissectors/packet-usb.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/epan/dissectors/packet-usb.c b/epan/dissectors/packet-usb.c index 7bb425f001..d83b2aa82d 100644 --- a/epan/dissectors/packet-usb.c +++ b/epan/dissectors/packet-usb.c @@ -2693,8 +2693,12 @@ try_dissect_next_protocol(proto_tree *tree, proto_tree *parent, tvbuff_t *next_t usb_conv_info->usb_trans_info = usb_trans_info; } + else if (ctrl_recip == RQT_SETUP_RECIPIENT_OTHER) { + heur_subdissector_list = heur_control_subdissector_list; + usb_dissector_table = usb_control_dissector_table; + } else { - /* the recipient is "other" or "reserved" + /* the recipient is "reserved" it makes no sense to set usb_dissector_table since there's no way for us to link this message to a device class */ heur_subdissector_list = heur_control_subdissector_list; -- cgit v1.2.1