diff --git a/openbsc/include/openbsc/mncc.h b/openbsc/include/openbsc/mncc.h
index 9a9648d..075c5b5 100644
--- a/openbsc/include/openbsc/mncc.h
+++ b/openbsc/include/openbsc/mncc.h
@@ -165,6 +165,6 @@
 int int_mncc_recv(struct gsm_network *net, struct msgb *msg);
 
 /* input from CC code into mncc_sock */
-void mncc_sock_from_cc(struct gsm_network *net, struct msgb *msg);
+int mncc_sock_from_cc(struct gsm_network *net, struct msgb *msg);
 
 #endif
diff --git a/openbsc/src/bsc/osmo_bsc_main.c b/openbsc/src/bsc/osmo_bsc_main.c
index 3fb9247..62a4e0e 100644
--- a/openbsc/src/bsc/osmo_bsc_main.c
+++ b/openbsc/src/bsc/osmo_bsc_main.c
@@ -51,7 +51,7 @@
 static int daemonize = 0;
 
 extern void bsc_vty_init(void);
-extern int bsc_bootstrap_network(int (*layer4)(struct gsm_network *, int, void *), const char *cfg_file);
+extern int bsc_bootstrap_network(int (*layer4)(struct gsm_network *, struct msgb *), const char *cfg_file);
 
 static void print_usage()
 {
diff --git a/openbsc/src/bsc_hack.c b/openbsc/src/bsc_hack.c
index 7f66423..11499ab 100644
--- a/openbsc/src/bsc_hack.c
+++ b/openbsc/src/bsc_hack.c
@@ -54,7 +54,7 @@
 #define DB_SYNC_INTERVAL	60, 0
 static struct timer_list db_sync_timer;
 
-extern int bsc_bootstrap_network(int (*mmc_rev)(struct gsm_network *, int, void *),
+extern int bsc_bootstrap_network(int (*mncc_recv)(struct gsm_network *, struct msgb *),
 				 const char *cfg_file);
 extern int bsc_shutdown_net(struct gsm_network *net);
 
diff --git a/openbsc/src/mncc_sock.c b/openbsc/src/mncc_sock.c
index 3f13075..2eef7c8 100644
--- a/openbsc/src/mncc_sock.c
+++ b/openbsc/src/mncc_sock.c
@@ -48,7 +48,7 @@
 static struct mncc_sock_state *g_state;
 
 /* input from CC code into mncc_sock */
-void mncc_sock_from_cc(struct gsm_network *net, struct msgb *msg)
+int mncc_sock_from_cc(struct gsm_network *net, struct msgb *msg)
 {
 	struct gsm_mncc *mncc_in = (struct gsm_mncc *) msgb_data(msg);
 	int msg_type = mncc_in->msg_type;
@@ -69,7 +69,7 @@
 		}
 		/* free the original message */
 		msgb_free(msg);
-		return;
+		return -1;
 	}
 
 	/* FIXME: check for some maximum queue depth? */
@@ -77,6 +77,7 @@
 	/* Actually enqueue the message and mark socket write need */
 	msgb_enqueue(&net->upqueue, msg);
 	g_state->conn_bfd.when |= BSC_FD_WRITE;
+	return 0;
 }
 
 void mncc_sock_write_pending(void)
