aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs/gprs_gmm.c
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2016-06-28 17:39:20 +0200
committerHarald Welte <laforge@gnumonks.org>2016-07-04 08:42:37 +0000
commit3955025c2a83a334f65322def52466c1cc86ed89 (patch)
tree97883e76b75401e0711e4d8b11fc35226d7e78eb /openbsc/src/gprs/gprs_gmm.c
parent93408ae72719590b9a0df9ce565694956f0cc34a (diff)
SGSN: move TLLI unassignment into separate function
Diffstat (limited to 'openbsc/src/gprs/gprs_gmm.c')
-rw-r--r--openbsc/src/gprs/gprs_gmm.c26
1 files changed, 8 insertions, 18 deletions
diff --git a/openbsc/src/gprs/gprs_gmm.c b/openbsc/src/gprs/gprs_gmm.c
index 5848a63f5..5db69ddad 100644
--- a/openbsc/src/gprs/gprs_gmm.c
+++ b/openbsc/src/gprs/gprs_gmm.c
@@ -982,8 +982,7 @@ rejected:
if (ctx)
mm_ctx_cleanup_free(ctx, "GPRS ATTACH REJ");
else
- /* TLLI unassignment */
- gprs_llgmm_assign(llme, llme->tlli, 0xffffffff, GPRS_ALGO_GEA0, NULL);
+ gprs_llgmm_unassign(llme);
return rc;
@@ -1286,11 +1285,8 @@ rejected:
if (mmctx)
mm_ctx_cleanup_free(mmctx, "GPRS RA UPDATE REJ");
else {
- if (llme) {
- /* TLLI unassignment */
- gprs_llgmm_assign(llme, llme->tlli, 0xffffffff,
- GPRS_ALGO_GEA0, NULL);
- }
+ if (llme)
+ gprs_llgmm_unassign(llme);
}
return rc;
@@ -1323,17 +1319,13 @@ static int gsm0408_rcv_gmm(struct sgsn_mm_ctx *mmctx, struct msgb *msg,
/* 4.7.10 */
if (gh->msg_type == GSM48_MT_GMM_STATUS) {
/* TLLI unassignment */
- gprs_llgmm_assign(llme, llme->tlli, 0xffffffff,
- GPRS_ALGO_GEA0, NULL);
+ gprs_llgmm_unassign(llme);
return 0;
}
/* Don't reply or establish a LLME on DETACH_ACK */
- if (gh->msg_type == GSM48_MT_GMM_DETACH_ACK) {
- /* TLLI unassignment */
- return gprs_llgmm_assign(llme, llme->tlli, 0xffffffff,
- GPRS_ALGO_GEA0, NULL);
- }
+ if (gh->msg_type == GSM48_MT_GMM_DETACH_ACK)
+ return gprs_llgmm_unassign(llme);
gprs_llgmm_reset(llme);
@@ -1343,8 +1335,7 @@ static int gsm0408_rcv_gmm(struct sgsn_mm_ctx *mmctx, struct msgb *msg,
rc = gsm48_rx_gmm_det_req(NULL, msg);
/* TLLI unassignment */
- gprs_llgmm_assign(llme, llme->tlli, 0xffffffff,
- GPRS_ALGO_GEA0, NULL);
+ gprs_llgmm_unassign(llme);
return rc;
}
@@ -1352,8 +1343,7 @@ static int gsm0408_rcv_gmm(struct sgsn_mm_ctx *mmctx, struct msgb *msg,
rc = sgsn_force_reattach_oldmsg(msg);
/* TLLI unassignment */
- gprs_llgmm_assign(llme, llme->tlli, 0xffffffff,
- GPRS_ALGO_GEA0, NULL);
+ gprs_llgmm_unassign(llme);
return rc;
}