From 6b986c24228a4cc83b22e1d8aae22b94fe36e6f2 Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Wed, 1 Feb 2017 12:00:45 +0100 Subject: 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 --- src/gsm/lapd_core.c | 8 ++++---- 1 file 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); -- cgit v1.2.3