diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-04-08 21:35:00 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-04-08 21:35:00 +0200 |
commit | 73f9a65f12e3a128b21ff6ad5b1b821fd6d26e71 (patch) | |
tree | 44e0c1499b9d4e728da0ef5460382125297547cf /openbsc/src | |
parent | b2c55c49a82a9564122a9a11c5049a45a0da2025 (diff) |
bssap: Forget the secondary lchan in the MSC data and forget the MSC data
We will handle sending the assignment failure inside the T10
timer but it is better to reset the secondary_lchan inside the
msc_data right away before we might accidently use it.
Diffstat (limited to 'openbsc/src')
-rw-r--r-- | openbsc/src/bssap.c | 8 |
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; |