diff options
Diffstat (limited to 'openbsc/src/bsc_api.c')
-rw-r--r-- | openbsc/src/bsc_api.c | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/openbsc/src/bsc_api.c b/openbsc/src/bsc_api.c index 8b3ff8f3a..9b070a950 100644 --- a/openbsc/src/bsc_api.c +++ b/openbsc/src/bsc_api.c @@ -602,28 +602,17 @@ static int bsc_handle_lchan_signal(unsigned int subsys, unsigned int signal, { struct bsc_api *bsc; struct gsm_lchan *lchan; + struct lchan_signal_data *lchan_data; 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) + lchan_data = signal_data; + if (!lchan_data->lchan || !lchan_data->lchan->conn) return 0; + lchan = lchan_data->lchan; bsc = lchan->ts->trx->bts->network->bsc_api; if (!bsc) return 0; |