aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-mbim.c
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2015-01-06 21:59:04 +0100
committerPascal Quantin <pascal.quantin@gmail.com>2015-01-06 21:04:19 +0000
commit119f564e0d08e8d507fe1a08350f8bc9e5d3b0b7 (patch)
treefc21c3ed06fb19cd1a7c9f55ef9fefacf8be86fd /epan/dissectors/packet-mbim.c
parenta6e6deea7feeaa1d6c8b5084d4baebdd24138c46 (diff)
MBIM: call dissector_(add|delete)_uint only when necessary
Change-Id: I12bbe9e1d81560f1874d4e575b19db1842fa0c72 Reviewed-on: https://code.wireshark.org/review/6352 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-mbim.c')
-rw-r--r--epan/dissectors/packet-mbim.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/epan/dissectors/packet-mbim.c b/epan/dissectors/packet-mbim.c
index ec8dd2f0d8..aa361fbb7f 100644
--- a/epan/dissectors/packet-mbim.c
+++ b/epan/dissectors/packet-mbim.c
@@ -7989,7 +7989,7 @@ proto_register_mbim(void)
void
proto_reg_handoff_mbim(void)
{
- static gboolean initialized = FALSE;
+ static gboolean initialized = FALSE, mbim_control_decode_unknown_itf_prev = FALSE;
dissector_handle_t mbim_control_handle;
if (!initialized) {
@@ -8005,11 +8005,14 @@ proto_reg_handoff_mbim(void)
initialized = TRUE;
}
heur_dissector_set_enabled("usb.bulk", dissect_mbim_bulk_heur, proto_mbim, mbim_bulk_heuristic);
- mbim_control_handle = find_dissector("mbim.control");
- if (mbim_control_decode_unknown_itf) {
- dissector_add_uint("usb.control", IF_CLASS_UNKNOWN, mbim_control_handle);
- } else {
- dissector_delete_uint("usb.control", IF_CLASS_UNKNOWN, mbim_control_handle);
+ if (mbim_control_decode_unknown_itf != mbim_control_decode_unknown_itf_prev) {
+ mbim_control_handle = find_dissector("mbim.control");
+ if (mbim_control_decode_unknown_itf) {
+ dissector_add_uint("usb.control", IF_CLASS_UNKNOWN, mbim_control_handle);
+ } else {
+ dissector_delete_uint("usb.control", IF_CLASS_UNKNOWN, mbim_control_handle);
+ }
+ mbim_control_decode_unknown_itf_prev = mbim_control_decode_unknown_itf;
}
}