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;
 }