aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/src/bsc_api.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/openbsc/src/bsc_api.c b/openbsc/src/bsc_api.c
index 35babc319..8b3ff8f3a 100644
--- a/openbsc/src/bsc_api.c
+++ b/openbsc/src/bsc_api.c
@@ -606,6 +606,20 @@ static int bsc_handle_lchan_signal(unsigned int subsys, unsigned int signal,
if (subsys != SS_LCHAN)
return 0;
+ /*
+ * Check if it is any of the signals we handle. We do want
+ * to do this early as we will need to check the lchan and
+ * the bsc api in it.
+ */
+ switch (signal) {
+ case S_LCHAN_UNEXPECTED_RELEASE:
+ case S_LCHAN_ACTIVATE_ACK:
+ case S_LCHAN_ACTIVATE_NACK:
+ break;
+ default:
+ return -1;
+ }
+
lchan = (struct gsm_lchan *)signal_data;
if (!lchan || !lchan->conn)
return 0;