lchan: Every SS_LCHAN signal now sends a struct lchan_sig_data

The SS_LCHAN signals now always include the lchan_sig_data. For
the measurement report it will optionally include the measurement
report as well. Attempt to update all handlers of this signal as well
diff --git a/openbsc/src/abis_rsl.c b/openbsc/src/abis_rsl.c
index 52ed9fa..ad11c73 100644
--- a/openbsc/src/abis_rsl.c
+++ b/openbsc/src/abis_rsl.c
@@ -51,6 +51,15 @@
 
 static int rsl_send_imm_assignment(struct gsm_lchan *lchan);
 
+static void send_lchan_signal(int sig_no, struct gsm_lchan *lchan,
+			      struct gsm_meas_rep *resp)
+{
+	struct lchan_signal_data sig;
+	sig.lchan = lchan;
+	sig.mr = resp;
+	dispatch_signal(SS_LCHAN, sig_no, &sig);
+}
+
 static u_int8_t mdisc_by_msgtype(u_int8_t msg_type)
 {
 	/* mask off the transparent bit ? */
@@ -813,7 +822,7 @@
 		msg->lchan->rqd_ta = 0;
 	}
 
-	dispatch_signal(SS_LCHAN, S_LCHAN_ACTIVATE_ACK, msg->lchan);
+	send_lchan_signal(S_LCHAN_ACTIVATE_ACK, msg->lchan, NULL);
 
 	return 0;
 }
@@ -843,7 +852,7 @@
 
 	LOGPC(DRSL, LOGL_ERROR, "\n");
 
-	dispatch_signal(SS_LCHAN, S_LCHAN_ACTIVATE_NACK, msg->lchan);
+	send_lchan_signal(S_LCHAN_ACTIVATE_NACK, msg->lchan, NULL);
 
 	lchan_free(msg->lchan);
 	return 0;
@@ -986,7 +995,7 @@
 
 	print_meas_rep(mr);
 
-	dispatch_signal(SS_LCHAN, S_LCHAN_MEAS_REP, mr);
+	send_lchan_signal(S_LCHAN_MEAS_REP, msg->lchan, mr);
 
 	return 0;
 }
@@ -1007,7 +1016,7 @@
 	else
 		DEBUGPC(DRSL, "\n");
 
-	dispatch_signal(SS_LCHAN, S_LCHAN_HANDOVER_DETECT, msg->lchan);
+	send_lchan_signal(S_LCHAN_HANDOVER_DETECT, msg->lchan, NULL);
 
 	return 0;
 }