diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2013-06-13 09:59:18 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2017-12-01 03:37:44 +0100 |
commit | 88b9e13652f61a40f9439aabe96537fefb465706 (patch) | |
tree | 65372c2926fbfd859fd5ea22463815ba86528367 /src/libbsc/bsc_api.c | |
parent | 67682df5571daa5c7afd4c1ab7a7bca2efd323e7 (diff) |
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.
Diffstat (limited to 'src/libbsc/bsc_api.c')
-rw-r--r-- | src/libbsc/bsc_api.c | 6 |
1 files 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) { |