diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2014-11-11 08:55:13 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-11-14 10:12:32 +0100 |
commit | c4f9bf3142f54b63174f653b07103dd6ab36b1ae (patch) | |
tree | 0b3b599674b72507137d80bc735c136ef57f3a65 /openbsc | |
parent | 80d07e30c76f2bd72ee382b4b7941262c1d5865d (diff) |
sgsn: Don't send XID reset after Detach Accept
Currently when a Detach Accept is received for an unknown TLLI (which
is in general the case afer the SGSN has requested the detachment),
an XID reset is sent to the BSS, causing a BSSGP Status message. This
happens in gsm0408_rcv_gmm.
This patch moves the corresponding call to gprs_llgmm_reset downwards
so that it is not being called in that case.
Addresses:
SGSN->BSS TLLI: 0xd75b91d9 SAPI: LLGMM, UI (DTAP) (GMM) Detach Request
BSS->SGSN TLLI: 0xd75b91d9 SAPI: LLGMM, UI (DTAP) (GMM) Detach Accept
SGSN->BSS TLLI: 0xd75b91d9 SAPI: LLGMM, U, XID (Reset, IOV-UI)
BSS->SGSN TLLI: --- BSSGP STATUS (Unknown MS)
Sponsored-by: On-Waves ehf
Diffstat (limited to 'openbsc')
-rw-r--r-- | openbsc/src/gprs/gprs_gmm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/openbsc/src/gprs/gprs_gmm.c b/openbsc/src/gprs/gprs_gmm.c index a2c30bee0..ac063afa1 100644 --- a/openbsc/src/gprs/gprs_gmm.c +++ b/openbsc/src/gprs/gprs_gmm.c @@ -1223,8 +1223,6 @@ static int gsm0408_rcv_gmm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, return 0; } - gprs_llgmm_reset(llme); - /* Don't reply or establish a LLME on DETACH_ACK */ if (gh->msg_type == GSM48_MT_GMM_DETACH_ACK) { /* TLLI unassignment */ @@ -1232,6 +1230,8 @@ static int gsm0408_rcv_gmm(struct sgsn_mm_ctx *mmctx, struct msgb *msg, GPRS_ALGO_GEA0, NULL); } + gprs_llgmm_reset(llme); + /* Don't force it into re-attachment */ if (gh->msg_type == GSM48_MT_GMM_DETACH_REQ) { /* Handle Detach Request */ |