aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/tbf.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 0331a808..23438625 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -245,11 +245,12 @@ static void tbf_unlink_pdch(struct gprs_rlcmac_tbf *tbf)
/* During assignment (state=ASSIGN), tbf may be temporarily using
* tbf->control_ts from a previous TBF/SBA to transmit the UL/DL
- * Assignment, which may not be necessarly be a TS where the current TBF
- * is attached to. Hence, we may have ULC pollings ongoing and we need
- * to make sure we drop all reserved nodes there: */
- if (tbf_state(tbf) == TBF_ST_ASSIGN &&
- tbf->control_ts != TBF_CONTROL_TS_UNSET && !tbf->pdch[tbf->control_ts])
+ * Assignment, which may not be necessarily be a TS where the current TBF
+ * is attached to. This will be the case until a TBF receives proper
+ * confirmation from the MS and goes through the FLOW state. Hence, we
+ * may have ULC pollings ongoing and we need to make sure we drop all
+ * reserved nodes there: */
+ if (tbf->control_ts != TBF_CONTROL_TS_UNSET && !tbf->pdch[tbf->control_ts])
pdch_ulc_release_tbf(tbf->trx->pdch[tbf->control_ts].ulc, tbf);
/* Now simply detach from all attached PDCHs */