aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs_bssgp_pcu.cpp
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2012-07-26 08:13:06 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2012-07-26 08:13:06 +0200
commit08e93cdc3fe54df7753170e973d119c6bbbb6181 (patch)
treef62e27afb71797381204c1d8035bb1a01059285e /src/gprs_bssgp_pcu.cpp
parent4b55962e556b344131dce67fde2b46a602da8c81 (diff)
Use final_ack_sent and contention_resolution_done to define ongoing UL TBF
Both flags can be used to determine wether assignment must be sent on PCH or on AGCH. Before contention resolution is done, mobile will ignore downlink assinment. When final uplink acknowledge was sent, the mobile will go back to PCH after reception of akcnowledge.
Diffstat (limited to 'src/gprs_bssgp_pcu.cpp')
-rw-r--r--src/gprs_bssgp_pcu.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp
index c4d27e85..9b977f29 100644
--- a/src/gprs_bssgp_pcu.cpp
+++ b/src/gprs_bssgp_pcu.cpp
@@ -177,9 +177,8 @@ int gprs_bssgp_pcu_rx_dl_ud(struct msgb *msg, struct tlv_parsed *tp)
/* check for uplink data, so we copy our informations */
tbf = tbf_by_tlli(tlli, GPRS_RLCMAC_UL_TBF);
- if (tbf && tbf->contention_resolution_done
- && (tbf->state != GPRS_RLCMAC_FINISHED
- || tbf->ul_ack_state != GPRS_RLCMAC_UL_ACK_WAIT_ACK)) {
+ if (tbf && tbf->dir.ul.contention_resolution_done
+ && !tbf->dir.ul.final_ack_sent) {
use_trx = tbf->trx;
first_ts = tbf->first_ts;
ta = tbf->ta;