If we already sent final Packet Uplink Ack/Nack, request DL TBF on PCH
If network does not respond fast enough, the MS might already received
final Packet Uplink Ack/Nack, so we need to assign new DL TBF on PCH.
diff --git a/src/gprs_rlcmac_data.cpp b/src/gprs_rlcmac_data.cpp
index 1b35d79..8e195b8 100644
--- a/src/gprs_rlcmac_data.cpp
+++ b/src/gprs_rlcmac_data.cpp
@@ -1397,7 +1397,8 @@
old_tbf = tbf_by_tlli(tbf->tlli, GPRS_RLCMAC_DL_TBF);
else
old_tbf = tbf_by_tlli(tbf->tlli, GPRS_RLCMAC_UL_TBF);
- if (old_tbf) {
+ if (old_tbf && (old_tbf->state != GPRS_RLCMAC_FINISHED ||
+ old_tbf->ul_ack_state != GPRS_RLCMAC_UL_ACK_WAIT_ACK)) {
#ifdef DEBUG_DL_ASS_IDLE
LOGP(DRLCMAC, LOGL_ERROR, "We must wait for current TBF to be "
"released.\n");