aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs
diff options
context:
space:
mode:
Diffstat (limited to 'src/gprs')
-rw-r--r--src/gprs/gprs_gmm.c47
1 files changed, 24 insertions, 23 deletions
diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c
index 438f01f21..d93d307b2 100644
--- a/src/gprs/gprs_gmm.c
+++ b/src/gprs/gprs_gmm.c
@@ -465,6 +465,30 @@ static void mm_ctx_cleanup_free(struct sgsn_mm_ctx *ctx, const char *log_text)
sgsn_mm_ctx_cleanup_free(ctx);
}
+
+static void mmctx_cleanup_utran(struct sgsn_mm_ctx *mmctx)
+{
+ if (mmctx->ran_type != MM_CTX_T_UTRAN_Iu)
+ return;
+
+ if (mmctx->pmm_state == PMM_DETACHED)
+ return;
+
+ mmctx_set_pmm_state(mmctx, PMM_IDLE);
+ mmctx_set_pmm_state(mmctx, PMM_DETACHED);
+}
+
+static void mmctx_cleanup_geran(struct sgsn_mm_ctx *mmctx)
+{
+ if (mmctx->ran_type != MM_CTX_T_GERAN_Gb)
+ return;
+
+ if (mmctx->pmm_state == PMM_DETACHED)
+ return;
+
+ mmctx_set_mm_state(mmctx, MM_IDLE);
+}
+
/* Chapter 9.4.18 */
static int _tx_status(struct msgb *msg, uint8_t cause,
struct sgsn_mm_ctx *mmctx, int sm)
@@ -1771,29 +1795,6 @@ bool pdp_status_has_active_nsapis(const uint8_t *pdp_status, const size_t pdp_st
return false;
}
-static void mmctx_cleanup_utran(struct sgsn_mm_ctx *mmctx)
-{
- if (mmctx->ran_type != MM_CTX_T_UTRAN_Iu)
- return;
-
- if (mmctx->pmm_state == PMM_DETACHED)
- return;
-
- mmctx_set_pmm_state(mmctx, PMM_IDLE);
- mmctx_set_pmm_state(mmctx, PMM_DETACHED);
-}
-
-static void mmctx_cleanup_geran(struct sgsn_mm_ctx *mmctx)
-{
- if (mmctx->ran_type != MM_CTX_T_GERAN_Gb)
- return;
-
- if (mmctx->pmm_state == PMM_DETACHED)
- return;
-
- mmctx_set_mm_state(mmctx, MM_IDLE);
-}
-
/* Chapter 9.4.14: Routing area update request */
static int gsm48_rx_gmm_ra_upd_req(struct sgsn_mm_ctx *mmctx, struct msgb *msg,
struct gprs_llc_llme *llme)