aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Couzens <lynxis@fe80.eu>2019-08-20 15:08:43 +0200
committerAlexander Couzens <lynxis@fe80.eu>2019-08-23 23:03:31 +0200
commitcbf7649cea0c31dbbed13dce2dd0a16cafb896d9 (patch)
tree2e32275cf335778bd09b4dea291cb4ef29f3949c
parent1caa69cb18c8a34c7f456c1e0b86c66edea1e8e8 (diff)
gsm48_rx_gmm_ra_upd_req(): assign the new RAN and assign the ran connection
-rw-r--r--src/gprs/gprs_gmm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gprs/gprs_gmm.c b/src/gprs/gprs_gmm.c
index 60d99c3a8..e77d205cb 100644
--- a/src/gprs/gprs_gmm.c
+++ b/src/gprs/gprs_gmm.c
@@ -1888,10 +1888,15 @@ static int gsm48_rx_gmm_ra_upd_req(struct sgsn_mm_ctx *mmctx, struct msgb *msg,
if (mmctx->ran_type == MM_CTX_T_UTRAN_Iu &&
!MSG_IU_UE_CTX(msg)) {
mmctx_cleanup_utran(mmctx);
+ mmctx->ran_type = MM_CTX_T_GERAN_Gb;
+ if (!mmctx->gb.llme)
+ mmctx->gb.llme = llme;
} else if (mmctx->ran_type == MM_CTX_T_GERAN_Gb &&
MSG_IU_UE_CTX(msg)) {
/* 2G -> 3G transition */
mmctx_cleanup_geran(mmctx);
+ mmctx->iu.ue_ctx = MSG_IU_UE_CTX(msg);
+ mmctx->ran_type = MM_CTX_T_UTRAN_Iu;
}
mmctx->gmm_state = GMM_COMMON_PROC_INIT;