diff options
Diffstat (limited to 'openbsc/src/libbsc/bsc_api.c')
-rw-r--r-- | openbsc/src/libbsc/bsc_api.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/openbsc/src/libbsc/bsc_api.c b/openbsc/src/libbsc/bsc_api.c index 70d641396..78fee8894 100644 --- a/openbsc/src/libbsc/bsc_api.c +++ b/openbsc/src/libbsc/bsc_api.c @@ -137,7 +137,11 @@ static void assignment_t10_timeout(void *_conn) LOGP(DMSC, LOGL_ERROR, "Assigment T10 timeout on %p\n", conn); /* normal release on the secondary channel */ - lchan_release(conn->secondary_lchan, 0, 1); + if (conn->secondary_lchan) { + lchan_release(conn->secondary_lchan, 0, 1); + } else { + LOGP(DMSC, LOGL_NOTICE, "Secondary lchan is NULL, not releasing\n"); + } conn->secondary_lchan = NULL; /* inform them about the failure */ @@ -367,7 +371,8 @@ static void handle_ass_compl(struct gsm_subscriber_connection *conn, if (is_ipaccess_bts(conn->bts) && conn->lchan->tch_mode != GSM48_CMODE_SIGN) rsl_ipacc_crcx(conn->lchan); - api->assign_compl(conn, gh->data[0], + if (api->assign_compl) + api->assign_compl(conn, gh->data[0], lchan_to_chosen_channel(conn->lchan), conn->lchan->encr.alg_id, chan_mode_to_speech(conn->lchan)); |