diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/sgsn/gprs_gmm.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index 7a097608e..61da29fe5 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -1616,8 +1616,12 @@ static int gsm48_rx_gmm_ra_upd_req(struct sgsn_mm_ctx *mmctx, struct msgb *msg, /* mmctx is set to NULL and gprs_llgmm_unassign(llme) will be called below, let's make sure we don't keep dangling llme pointers in mmctx (OS#3957, OS#4245). */ - if (mmctx->ran_type == MM_CTX_T_GERAN_Gb) + if (mmctx->ran_type == MM_CTX_T_GERAN_Gb) { mmctx->gb.llme = NULL; + //mmctx->gb.llme->tlli = msgb_tlli(msg); + /* Update the MM context with the new (i.e. foreign) TLLI */ + //mmctx->gb.tlli = msgb_tlli(msg); + } mmctx = NULL; } @@ -1626,7 +1630,7 @@ static int gsm48_rx_gmm_ra_upd_req(struct sgsn_mm_ctx *mmctx, struct msgb *msg, /* send a XID reset to re-set all LLC sequence numbers * in the MS */ LOGGBP(llme, DMM, LOGL_NOTICE, "LLC XID RESET\n"); - gprs_llgmm_reset(llme); + gprs_llgmm_reset_oldmsg(msg, GPRS_SAPI_GMM, llme); } /* The MS has to perform GPRS attach */ /* Device is still IMSI attached for CS but initiate GPRS ATTACH, |