aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/bssap.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/src/bssap.c')
-rw-r--r--openbsc/src/bssap.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/openbsc/src/bssap.c b/openbsc/src/bssap.c
index edbe66717..385a935a7 100644
--- a/openbsc/src/bssap.c
+++ b/openbsc/src/bssap.c
@@ -1100,8 +1100,14 @@ static int bssap_handle_lchan_signal(unsigned int subsys, unsigned int signal,
switch (signal) {
case S_LCHAN_UNEXPECTED_RELEASE:
/* handle this through the T10 timeout */
- if (lchan->msc_data->lchan != lchan)
+ if (lchan->msc_data->lchan != lchan) {
+ if (lchan->msc_data->secondary_lchan == lchan) {
+ LOGP(DMSC, LOGL_NOTICE, "Setting secondary to NULL.\n");
+ lchan->msc_data->secondary_lchan = NULL;
+ lchan->msc_data = NULL;
+ }
return 0;
+ }
bsc_del_timer(&lchan->msc_data->T10);
conn = lchan->msc_data->sccp;