introduce cache of 6 last recently received measurement reports for each lchan
diff --git a/openbsc/src/gsm_04_08.c b/openbsc/src/gsm_04_08.c
index 6d05a20..ef29b29 100644
--- a/openbsc/src/gsm_04_08.c
+++ b/openbsc/src/gsm_04_08.c
@@ -1558,13 +1558,13 @@
static int gsm48_rx_rr_meas_rep(struct msgb *msg)
{
- static struct gsm_meas_rep meas_rep;
+ struct gsm_meas_rep *meas_rep = lchan_next_meas_rep(msg->lchan);
/* This shouldn't actually end up here, as RSL treats
* L3 Info of 08.58 MEASUREMENT REPORT different by calling
* directly into gsm48_parse_meas_rep */
DEBUGP(DMEAS, "DIRECT GSM48 MEASUREMENT REPORT ?!? ");
- gsm48_parse_meas_rep(&meas_rep, msg);
+ gsm48_parse_meas_rep(meas_rep, msg);
return 0;
}