aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2012-07-15 19:36:49 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2012-07-15 19:36:49 +0200
commit67e4f2f1fdba2048082311cc08a36d4758427cd3 (patch)
tree9f4bc4a7170d8ff8a2df5b81880d731539ed9f44
parent67a19769741625827e3bac838233f3028c4c85cc (diff)
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.
-rw-r--r--src/gprs_rlcmac_data.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gprs_rlcmac_data.cpp b/src/gprs_rlcmac_data.cpp
index 1b35d79f..8e195b8c 100644
--- a/src/gprs_rlcmac_data.cpp
+++ b/src/gprs_rlcmac_data.cpp
@@ -1397,7 +1397,8 @@ void gprs_rlcmac_trigger_downlink_assignment(gprs_rlcmac_tbf *tbf,
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");