fixeria has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmo-gprs/+/31949 )


Change subject: rlcmac: fix handling of TIMESLOT_ALLOCATION in 
handle_pkt_dl_ass()
......................................................................

rlcmac: fix handling of TIMESLOT_ALLOCATION in handle_pkt_dl_ass()

The TIMESLOT_ALLOCATION is a timeslot mask with MSB=TS0 and LSB=TS7:

  7 6 5 4 3 2 1 0  TS# in TIMESLOT_ALLOCATION
  0 1 2 3 4 5 6 7  'i' value in the loop

The current logic checking state of each timeslot is wrong, we
actually need to shift by (7 - N) to check state of timeslot N.

Change-Id: I36c52e282ee02c5136a645eb73a9631b95355c34
Related: OS#5500
---
M src/rlcmac/tbf_dl_ass_fsm.c
1 file changed, 19 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/49/31949/1

diff --git a/src/rlcmac/tbf_dl_ass_fsm.c b/src/rlcmac/tbf_dl_ass_fsm.c
index 74e1853..365772a 100644
--- a/src/rlcmac/tbf_dl_ass_fsm.c
+++ b/src/rlcmac/tbf_dl_ass_fsm.c
@@ -110,7 +110,7 @@

        ctx->alloc.num_ts = 0;
        for (unsigned int i = 0; i < ARRAY_SIZE(ctx->alloc.ts); i++) {
-               ctx->alloc.ts[i].allocated = (dlass->TIMESLOT_ALLOCATION >> i) 
& 0x01;
+               ctx->alloc.ts[i].allocated = (dlass->TIMESLOT_ALLOCATION >> (7 
- i)) & 0x01;
                if (ctx->alloc.ts[i].allocated)
                        ctx->alloc.num_ts++;
        }

--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/31949
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I36c52e282ee02c5136a645eb73a9631b95355c34
Gerrit-Change-Number: 31949
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanits...@sysmocom.de>
Gerrit-MessageType: newchange

Reply via email to