pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/33415 )
Change subject: tbf_ul: Avoid processing rx UL blocks for UL TBFs in RELEASING state ......................................................................
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(-)
Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved
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);