jolly has uploaded this change for review.
Fix request reference value in gsm48_match_ra()
Do not overwrite the given request reference pointer with the history
buffer's reference. This makes no sense.
Without this fix only the response to the first access burst could be
matched correctly.
Change-Id: Iec636d368e20030beac2861bff61b1a06e7b4821
---
M src/host/layer23/src/mobile/gsm48_rr.c
1 file changed, 21 insertions(+), 7 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/86/34486/1
diff --git a/src/host/layer23/src/mobile/gsm48_rr.c b/src/host/layer23/src/mobile/gsm48_rr.c
index 08b208f..c8aa921 100644
--- a/src/host/layer23/src/mobile/gsm48_rr.c
+++ b/src/host/layer23/src/mobile/gsm48_rr.c
@@ -2374,13 +2374,12 @@
for (i = 0; i < hist_num; i++) {
/* filter confirmed RACH requests only */
if (rr->cr_hist[i].valid && ref->ra == rr->cr_hist[i].ref.ra) {
- ia_t1 = ref->t1;
- ia_t2 = ref->t2;
- ia_t3 = (ref->t3_high << 3) | ref->t3_low;
- ref = &rr->cr_hist[i].ref;
- cr_t1 = ref->t1;
- cr_t2 = ref->t2;
- cr_t3 = (ref->t3_high << 3) | ref->t3_low;
+ ia_t1 = ref->t1;
+ ia_t2 = ref->t2;
+ ia_t3 = (ref->t3_high << 3) | ref->t3_low;
+ cr_t1 = rr->cr_hist[i].ref.t1;
+ cr_t2 = rr->cr_hist[i].ref.t2;
+ cr_t3 = (rr->cr_hist[i].ref.t3_high << 3) | rr->cr_hist[i].ref.t3_low;
if (ia_t1 == cr_t1 && ia_t2 == cr_t2
&& ia_t3 == cr_t3) {
LOGP(DRR, LOGL_INFO, "request %02x matches "
To view, visit change 34486. To unsubscribe, or for help writing mail filters, visit settings.