diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2013-03-11 08:20:48 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2015-08-17 16:21:24 +0200 |
commit | 93e795c1fdee782efa3856baf0abdc21fe3edc7f (patch) | |
tree | 44e0ed1f3d0c8e11d5951d24a57a6729a5410a4c /openbsc | |
parent | 4c97435b3537cfe5a13e427b3d38ee591a686961 (diff) |
Add check for non existing lchan at tch_frame_down()
Traffic cannot sent to BTS, if there is (currently) no logical channel
associated with the transaction.
This happens, if TCH traffic is received from upper layer, but there is
no lchan available before completing immediate assignment, handover or
assignment process.
[hfreyther: The code has not been moved to tch_frame_down
but the issue looks similiar]
Diffstat (limited to 'openbsc')
-rw-r--r-- | openbsc/src/libmsc/gsm_04_08.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c index 02ffe580b..ff5d38d98 100644 --- a/openbsc/src/libmsc/gsm_04_08.c +++ b/openbsc/src/libmsc/gsm_04_08.c @@ -3005,6 +3005,10 @@ int mncc_tx_to_cc(struct gsm_network *net, int msg_type, void *arg) LOGP(DMNCC, LOGL_NOTICE, "TCH frame for trans without conn\n"); return 0; } + if (!trans->conn->lchan) { + LOGP(DMNCC, LOGL_NOTICE, "TCH frame for trans without lchan\n"); + return 0; + } if (trans->conn->lchan->type != GSM_LCHAN_TCH_F && trans->conn->lchan->type != GSM_LCHAN_TCH_H) { /* This should be LOGL_ERROR or NOTICE, but |