client/server: log failed attempts to transmit/encode RSPRO

Change-Id: Iac56ddf7417fdee637660db34a7f0e6bdb9c4ab5
diff --git a/src/server/rspro_server.c b/src/server/rspro_server.c
index 3ad257f..b2bcb79 100644
--- a/src/server/rspro_server.c
+++ b/src/server/rspro_server.c
@@ -44,12 +44,20 @@
 
 static void client_conn_send(struct rspro_client_conn *conn, RsproPDU_t *pdu)
 {
-	struct msgb *msg_tx = rspro_enc_msg(pdu);
-	if (!msg_tx) {
-		ASN_STRUCT_FREE(asn_DEF_RsproPDU, pdu);
+	if (!pdu) {
+		LOGPFSML(conn->fi, LOGL_ERROR, "Attempt to transmit NULL\n");
+		osmo_log_backtrace(DMAIN, LOGL_ERROR);
 		return;
 	}
 	LOGPFSM(conn->fi, "Tx RSPRO %s\n", rspro_msgt_name(pdu));
+
+	struct msgb *msg_tx = rspro_enc_msg(pdu);
+	if (!msg_tx) {
+		LOGPFSML(conn->fi, LOGL_ERROR, "Error encdoing RSPRO %s\n", rspro_msgt_name(pdu));
+		osmo_log_backtrace(DMAIN, LOGL_ERROR);
+		ASN_STRUCT_FREE(asn_DEF_RsproPDU, pdu);
+		return;
+	}
 	ipa_prepend_header_ext(msg_tx, IPAC_PROTO_EXT_RSPRO);
 	ipa_msg_push_header(msg_tx, IPAC_PROTO_OSMO);
 	ipa_server_conn_send(conn->peer, msg_tx);