pespin submitted this change.

View Change


Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved
tbf_ul: Avoid processing rx UL blocks for UL TBFs in RELEASING state

Change-Id: I1da9b665b9ed83a644ea798008d456d6298b7460
---
M src/tbf_ul.cpp
1 file changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp
index 9a139ba..5ae0d49 100644
--- a/src/tbf_ul.cpp
+++ b/src/tbf_ul.cpp
@@ -258,6 +258,19 @@
"V(R)=%d)\n", rlc->tfi, this->m_window.v_q(),
this->m_window.v_r());

+ if (tbf_state(this) == TBF_ST_RELEASING) {
+ /* This may happen if MAX_N3101 is hit previously, moving the UL
+ * TBF to RELEASING state. Since we have an fn-advance where DL
+ * blocks are scheduled in advance, we may have requested USF for
+ * this UL TBF before triggering and hence we are now receiving a
+ * UL block from it. If this is the case, simply ignore the block.
+ */
+ LOGPTBFUL(this, LOGL_INFO,
+ "UL DATA TFI=%d received (V(Q)=%d .. V(R)=%d) while in RELEASING state, discarding\n",
+ rlc->tfi, this->m_window.v_q(), this->m_window.v_r());
+ return 0;
+ }
+
/* process RSSI */
gprs_rlcmac_rssi(this, rssi);


To view, visit change 33415. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I1da9b665b9ed83a644ea798008d456d6298b7460
Gerrit-Change-Number: 33415
Gerrit-PatchSet: 5
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged