From 88b9e13652f61a40f9439aabe96537fefb465706 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Thu, 13 Jun 2013 09:59:18 +0200 Subject: Fix assignment failure handling at bsc_api.c If assignment fails, we must check if the secondary lchan has been released already. This can happen if the BTS indicates a CHANNEL FAILURE INDICATION, then the BSC already released the secondary lchan. --- src/libbsc/bsc_api.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libbsc/bsc_api.c b/src/libbsc/bsc_api.c index 22e774c03..db3d1bb5f 100644 --- a/src/libbsc/bsc_api.c +++ b/src/libbsc/bsc_api.c @@ -524,8 +524,10 @@ static void handle_ass_fail(struct gsm_subscriber_connection *conn, /* stop the timer and release it */ osmo_timer_del(&conn->T10); - lchan_release(conn->secondary_lchan, 0, RSL_REL_LOCAL_END); - conn->secondary_lchan = NULL; + if (conn->secondary_lchan) { + lchan_release(conn->secondary_lchan, 0, RSL_REL_LOCAL_END); + conn->secondary_lchan = NULL; + } gh = msgb_l3(msg); if (msgb_l3len(msg) - sizeof(*gh) != 1) { -- cgit v1.2.3