diff options
Diffstat (limited to 'openbsc/src/libbsc/chan_alloc.c')
-rw-r--r-- | openbsc/src/libbsc/chan_alloc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/openbsc/src/libbsc/chan_alloc.c b/openbsc/src/libbsc/chan_alloc.c index 99c93604d..5c0a36b6f 100644 --- a/openbsc/src/libbsc/chan_alloc.c +++ b/openbsc/src/libbsc/chan_alloc.c @@ -300,7 +300,6 @@ void lchan_free(struct gsm_lchan *lchan) sig.type = lchan->type; lchan->type = GSM_LCHAN_NONE; - if (lchan->conn) { struct lchan_signal_data sig; @@ -396,7 +395,10 @@ static void _lchan_handle_release(struct gsm_lchan *lchan, "%s sacch already deactivated?!\n", gsm_lchan_name(lchan)); lchan->sacch_deact = 1; + rsl_chan_mode_modify_req(lchan); + rsl_deact_sacch(lchan); rsl_deact_sacch(lchan); + rsl_chan_mode_modify_req(lchan); rsl_start_t3109(lchan); } else if (lchan->sapis[0] == LCHAN_SAPI_UNUSED) { rsl_direct_rf_release(lchan); |