diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2015-03-21 16:42:08 +0100 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2015-03-26 19:10:24 +0000 |
commit | 55de704f8242f30fc2c412d6cd3e83c43f4e80ec (patch) | |
tree | 470af08e673c2a08d7366873a36d7e66b4b3ce6c /epan/dissectors/packet-mausb.c | |
parent | 91addef79cf6031cd19aecaafe10517d0f729261 (diff) |
USB: use URB/IRP ID for request/response tracking
Bug: 11072
Change-Id: I5f1824d602e4b88c9c5c8520b0aac9945206f093
Reviewed-on: https://code.wireshark.org/review/7781
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-mausb.c')
-rw-r--r-- | epan/dissectors/packet-mausb.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/epan/dissectors/packet-mausb.c b/epan/dissectors/packet-mausb.c index d7e1d2becc..dff03da2a7 100644 --- a/epan/dissectors/packet-mausb.c +++ b/epan/dissectors/packet-mausb.c @@ -1448,20 +1448,6 @@ dissect_mausb_pkt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, mausb_is_data_pkt(&header), mausb_is_from_host(&header)); - /* If there is a usb conversation, find it */ - if (mausb_is_data_pkt(&header) & !(mausb_is_transfer_ack(&header))) { - - usb_conv_info = get_usb_conv_info(conversation); - - /* TODO: set all the usb_conv_info values */ - usb_conv_info->is_request = mausb_is_transfer_req(&header); - - usb_trans_info = usb_get_trans_info(tvb, pinfo, tree, - USB_HEADER_MAUSB, usb_conv_info); - usb_conv_info->usb_trans_info = usb_trans_info; - } - - if (mausb_is_mgmt_pkt(&header)) { proto_tree_add_item(mausb_tree, hf_mausb_dev_handle, tvb, @@ -1619,6 +1605,19 @@ dissect_mausb_pkt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, offset += 4; } + /* If there is a usb conversation, find it */ + if (!(mausb_is_transfer_ack(&header))) { + + usb_conv_info = get_usb_conv_info(conversation); + + /* TODO: set all the usb_conv_info values */ + usb_conv_info->is_request = mausb_is_transfer_req(&header); + + usb_trans_info = usb_get_trans_info(tvb, pinfo, tree, USB_HEADER_MAUSB, + usb_conv_info, header.u.s.req_id); + usb_conv_info->usb_trans_info = usb_trans_info; + } + /* If this packet contains USB Setup Data */ if (mausb_has_setup_data(&header)) { offset = dissect_usb_setup_request(pinfo, mausb_tree, tvb, offset, |