diff options
author | Daniel Willmann <dwillmann@sysmocom.de> | 2016-04-08 18:02:20 +0200 |
---|---|---|
committer | Daniel Willmann <dwillmann@sysmocom.de> | 2016-04-08 18:04:04 +0200 |
commit | fafb0742683fb069ea88355c513290c6bb4373b4 (patch) | |
tree | 8c0cb88a8373d1815c1eaff961c33bd7b0b6cad0 /openbsc/src/gprs/gprs_gmm.c | |
parent | a3dfdcb308ca72255819fa4cdb114b85d8c672bc (diff) |
sgsn: Reset mm ctx state in service request and after authorization
Diffstat (limited to 'openbsc/src/gprs/gprs_gmm.c')
-rw-r--r-- | openbsc/src/gprs/gprs_gmm.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/openbsc/src/gprs/gprs_gmm.c b/openbsc/src/gprs/gprs_gmm.c index 2b8581be6..a3a8f4aed 100644 --- a/openbsc/src/gprs/gprs_gmm.c +++ b/openbsc/src/gprs/gprs_gmm.c @@ -777,6 +777,7 @@ static int gsm48_gmm_authorize(struct sgsn_mm_ctx *ctx) "no pending request, authorization completed\n"); break; case GSM48_MT_GMM_ATTACH_REQ: + ctx->pending_req = 0; extract_subscr_msisdn(ctx); extract_subscr_hlr(ctx); @@ -802,6 +803,7 @@ static int gsm48_gmm_authorize(struct sgsn_mm_ctx *ctx) return rc; case GSM48_MT_GMM_RA_UPD_REQ: + ctx->pending_req = 0; /* Send RA UPDATE ACCEPT */ return gsm48_tx_gmm_ra_upd_ack(ctx); @@ -1545,6 +1547,8 @@ static int gsm48_rx_gmm_service_req(struct sgsn_mm_ctx *ctx, struct msgb *msg) goto rejected; } + ctx->mm_state = GMM_COMMON_PROC_INIT; + ctx->iu.service.type = service_type; /* TODO: Handle those only in case of accept? */ |