aboutsummaryrefslogtreecommitdiffstats
path: root/src/sgsn/gprs_mm_state_iu_fsm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sgsn/gprs_mm_state_iu_fsm.c')
-rw-r--r--src/sgsn/gprs_mm_state_iu_fsm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/sgsn/gprs_mm_state_iu_fsm.c b/src/sgsn/gprs_mm_state_iu_fsm.c
index 1ed5f56f1..b098f2018 100644
--- a/src/sgsn/gprs_mm_state_iu_fsm.c
+++ b/src/sgsn/gprs_mm_state_iu_fsm.c
@@ -6,6 +6,7 @@
#include <osmocom/sgsn/debug.h>
#include <osmocom/sgsn/sgsn.h>
+#include <osmocom/sgsn/gprs_ranap.h>
#define X(s) (1 << (s))
@@ -45,11 +46,15 @@ static void st_pmm_detached(struct osmo_fsm_inst *fi, uint32_t event, void *data
static void st_pmm_connected(struct osmo_fsm_inst *fi, uint32_t event, void *data)
{
+ struct sgsn_mm_ctx *ctx = fi->priv;
+
switch(event) {
case E_PMM_PS_CONN_RELEASE:
+ sgsn_ranap_iu_free(ctx);
mm_state_iu_fsm_state_chg(fi, ST_PMM_IDLE);
break;
case E_PMM_IMPLICIT_DETACH:
+ sgsn_ranap_iu_release_free(ctx, NULL);
mm_state_iu_fsm_state_chg(fi, ST_PMM_DETACHED);
break;
case E_PMM_RA_UPDATE: