pespin has uploaded this change for review.
Fix wrong assignment between UL and DL tbf_allocation structs
Change-Id: I077832afef6b72a11000a6d445262dff41c89ada
---
M src/rlcmac/tbf_ul_ass_fsm.c
1 file changed, 14 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/12/34312/1
diff --git a/src/rlcmac/tbf_ul_ass_fsm.c b/src/rlcmac/tbf_ul_ass_fsm.c
index 0f0f9ee..6262926 100644
--- a/src/rlcmac/tbf_ul_ass_fsm.c
+++ b/src/rlcmac/tbf_ul_ass_fsm.c
@@ -682,12 +682,15 @@
* it, aka switch the FSM to trigger the 2hpase directly (tx Pkt Res Req) */
int gprs_rlcmac_tbf_ul_ass_start_from_dl_tbf_ack_nack(struct gprs_rlcmac_ul_tbf *ul_tbf, const struct gprs_rlcmac_dl_tbf *dl_tbf)
{
+ uint8_t tn;
int rc;
ul_tbf->ul_ass_fsm.dl_tbf = dl_tbf;
/* FIXME: Ideally this should only be the TS where the PKT UL ASS was received... */
ul_tbf->ul_ass_fsm.phase1_alloc.num_ts = dl_tbf->cur_alloc.num_ts;
- memcpy(&ul_tbf->ul_ass_fsm.phase1_alloc.ts[0], &dl_tbf->cur_alloc.ts[0],
- sizeof(ul_tbf->ul_ass_fsm.phase1_alloc.ts));
+ for (tn = 0; tn < ARRAY_SIZE(ul_tbf->ul_ass_fsm.phase1_alloc.ts); tn++) {
+ ul_tbf->ul_ass_fsm.phase1_alloc.ts[0].allocated = dl_tbf->cur_alloc.ts[0].allocated;
+ ul_tbf->ul_ass_fsm.phase1_alloc.ts[0].usf = 0xff;
+ }
rc = osmo_fsm_inst_dispatch(ul_tbf->ul_ass_fsm.fi,
GPRS_RLCMAC_TBF_UL_ASS_EV_START_FROM_DL_TBF,
NULL);
To view, visit change 34312. To unsubscribe, or for help writing mail filters, visit settings.