diff options
author | Philipp Maier <pmaier@sysmocom.de> | 2017-02-01 12:00:45 +0100 |
---|---|---|
committer | Philipp Maier <pmaier@sysmocom.de> | 2017-02-07 13:39:01 +0100 |
commit | 6b986c24228a4cc83b22e1d8aae22b94fe36e6f2 (patch) | |
tree | 570547ad07d657ebf85bce5778c75b80492f40fa | |
parent | d9f6129350bc79e803861f92e99dbf72e44b1ea3 (diff) |
lapd_core: Fix MDL-ERROR ind after RELEASE ind
in lapd_t200_cb() The RELEASE INDICATION is transmitted before
the MDL ERROR INIDCATION, this prevents the MDL ERROR INDICATION
from being sent because the RELASE INDICATION close to connection
eraly. This commit puts the messages into the correct order.
Change-Id: Iae74777138fc27828f511e3aa321d1981861f4a5
-rw-r--r-- | src/gsm/lapd_core.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gsm/lapd_core.c b/src/gsm/lapd_core.c index 5af82aa2..5ee88a41 100644 --- a/src/gsm/lapd_core.c +++ b/src/gsm/lapd_core.c @@ -564,11 +564,11 @@ static void lapd_t200_cb(void *data) /* NOTE: we must not change any other states or buffers * and queues, since we may reconnect after handover * failure. the buffered messages is replaced there */ + /* send MDL ERROR INIDCATION to L3 */ + mdl_error(MDL_CAUSE_T200_EXPIRED, &dl->lctx); /* send RELEASE INDICATION to L3 */ send_dl_simple(PRIM_DL_REL, PRIM_OP_INDICATION, &dl->lctx); - /* send MDL ERROR INIDCATION to L3 */ - mdl_error(MDL_CAUSE_T200_EXPIRED, &dl->lctx); break; } /* retransmit SABM command */ @@ -581,10 +581,10 @@ static void lapd_t200_cb(void *data) case LAPD_STATE_DISC_SENT: /* 5.4.4.3 */ if (dl->retrans_ctr + 1 >= dl->n200_est_rel + 1) { - /* send RELEASE INDICATION to L3 */ - send_dl_simple(PRIM_DL_REL, PRIM_OP_CONFIRM, &dl->lctx); /* send MDL ERROR INIDCATION to L3 */ mdl_error(MDL_CAUSE_T200_EXPIRED, &dl->lctx); + /* send RELEASE INDICATION to L3 */ + send_dl_simple(PRIM_DL_REL, PRIM_OP_CONFIRM, &dl->lctx); /* flush tx and send buffers */ lapd_dl_flush_tx(dl); lapd_dl_flush_send(dl); |