aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormartinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7>2010-12-26 23:40:22 +0000
committermartinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7>2010-12-26 23:40:22 +0000
commitc05135599a7a8067d1daccc38529e27670f77e39 (patch)
treef4fe0439c6ae724c3d4f5f4816ddaa1ba5e3500b
parenta3bbb7056c19a1571b56ce41ba3ea931998fc893 (diff)
Only a new transmission grant should end a Scheduling Request.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@35268 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r--epan/dissectors/packet-mac-lte.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/epan/dissectors/packet-mac-lte.c b/epan/dissectors/packet-mac-lte.c
index f4b158280b..e0f5afac83 100644
--- a/epan/dissectors/packet-mac-lte.c
+++ b/epan/dissectors/packet-mac-lte.c
@@ -638,7 +638,6 @@ static guint mac_lte_rnti_hash_func(gconstpointer v)
}
-
typedef enum ContentionResolutionStatus {
NoMsg3,
Msg3Match,
@@ -674,6 +673,8 @@ static guint mac_lte_framenum_hash_func(gconstpointer v)
/****************************************************************/
/* Keeping track of last DL frames per C-RNTI so can guess when */
/* there has been a HARQ retransmission */
+/* TODO: this should be simplified now that harq-id & ndi are */
+/* being logged! */
/* Could be bigger, but more than enough to flag suspected resends */
#define MAX_EXPECTED_PDU_LENGTH 2048
@@ -2097,8 +2098,10 @@ static void dissect_ulsch_or_dlsch(tvbuff_t *tvb, packet_info *pinfo, proto_tree
TrackReportedULHARQResend(pinfo, tvb, offset, tree, p_mac_lte_info, retx_ti);
}
- /* For uplink grants, update SR status */
- if ((direction == DIRECTION_UPLINK) && global_mac_lte_track_sr) {
+ /* For uplink grants, update SR status. N.B. only newTx grant should stop SR */
+ if ((direction == DIRECTION_UPLINK) && (p_mac_lte_info->reTxCount == 0) &&
+ global_mac_lte_track_sr) {
+
TrackSRInfo(SR_Grant, pinfo, tree, tvb, p_mac_lte_info->rnti, NULL);
}