diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2012-07-15 19:36:49 +0200 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2012-07-15 19:36:49 +0200 |
commit | 67e4f2f1fdba2048082311cc08a36d4758427cd3 (patch) | |
tree | 9f4bc4a7170d8ff8a2df5b81880d731539ed9f44 /src | |
parent | 67a19769741625827e3bac838233f3028c4c85cc (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.
Diffstat (limited to 'src')
-rw-r--r-- | src/gprs_rlcmac_data.cpp | 3 |
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"); |