bsc: Make bsc_queue_for_msc work on the osmo_bsc_sccp_con

The gsm_subscriber_connection can die before the SCCP connection
so we should work on the osmo_bsc_sccp_con.
diff --git a/openbsc/include/openbsc/osmo_bsc.h b/openbsc/include/openbsc/osmo_bsc.h
index b94fc04..01509c0 100644
--- a/openbsc/include/openbsc/osmo_bsc.h
+++ b/openbsc/include/openbsc/osmo_bsc.h
@@ -22,7 +22,7 @@
 
 struct bsc_api *osmo_bsc_api();
 
-int bsc_queue_for_msc(struct gsm_subscriber_connection *conn, struct msgb *msg);
+int bsc_queue_for_msc(struct osmo_bsc_sccp_con *conn, struct msgb *msg);
 int bsc_open_connection(struct osmo_bsc_sccp_con *sccp, struct msgb *msg);
 int bsc_create_new_connection(struct gsm_subscriber_connection *conn);
 int bsc_delete_connection(struct osmo_bsc_sccp_con *sccp);
diff --git a/openbsc/src/bsc/osmo_bsc_api.c b/openbsc/src/bsc/osmo_bsc_api.c
index 8ee857d..1964099 100644
--- a/openbsc/src/bsc/osmo_bsc_api.c
+++ b/openbsc/src/bsc/osmo_bsc_api.c
@@ -42,7 +42,7 @@
 		LOGP(DMSC, LOGL_ERROR, "Failed to allocate response.\n"); \
 		return; \
 	} \
-	bsc_queue_for_msc(conn, resp);
+	bsc_queue_for_msc(conn->sccp_con, resp);
 
 static uint16_t get_network_code_for_msc(struct gsm_network *net)
 {
@@ -155,7 +155,7 @@
 		return 0;
 	}
 
-	bsc_queue_for_msc(conn, resp);
+	bsc_queue_for_msc(conn->sccp_con, resp);
 	return 0;
 }
 
diff --git a/openbsc/src/bsc/osmo_bsc_sccp.c b/openbsc/src/bsc/osmo_bsc_sccp.c
index ad2ee51..a7c51dd 100644
--- a/openbsc/src/bsc/osmo_bsc_sccp.c
+++ b/openbsc/src/bsc/osmo_bsc_sccp.c
@@ -126,9 +126,9 @@
 	return bsc_handle_udt(net, net->msc_data->msc_con, msgb, length);
 }
 
-int bsc_queue_for_msc(struct gsm_subscriber_connection *conn, struct msgb *msg)
+int bsc_queue_for_msc(struct osmo_bsc_sccp_con *conn, struct msgb *msg)
 {
-	struct sccp_connection *sccp = conn->sccp_con->sccp;
+	struct sccp_connection *sccp = conn->sccp;
 
 	if (sccp->connection_state != SCCP_CONNECTION_STATE_ESTABLISHED) {
 		LOGP(DMSC, LOGL_ERROR, "The connection is not established.\n");