diff options
Diffstat (limited to 'openbsc/src/gprs/gprs_gmm.c')
-rw-r--r-- | openbsc/src/gprs/gprs_gmm.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/openbsc/src/gprs/gprs_gmm.c b/openbsc/src/gprs/gprs_gmm.c index e59e1f056..da60fb87e 100644 --- a/openbsc/src/gprs/gprs_gmm.c +++ b/openbsc/src/gprs/gprs_gmm.c @@ -1952,7 +1952,8 @@ int gprs_gmm_rx_suspend(struct gprs_ra_id *raid, uint32_t tlli) return -EINVAL; } - if (mmctx->mm_state != GMM_REGISTERED_NORMAL) { + if (mmctx->mm_state != GMM_REGISTERED_NORMAL && + mmctx->mm_state != GMM_REGISTERED_SUSPENDED) { LOGMMCTXP(LOGL_NOTICE, mmctx, "SUSPEND request while state " "!= REGISTERED (TLLI=%08x)\n", tlli); return -EINVAL; @@ -1977,7 +1978,8 @@ int gprs_gmm_rx_resume(struct gprs_ra_id *raid, uint32_t tlli, return -EINVAL; } - if (mmctx->mm_state != GMM_REGISTERED_SUSPENDED) { + if (mmctx->mm_state != GMM_REGISTERED_NORMAL && + mmctx->mm_state != GMM_REGISTERED_SUSPENDED) { LOGMMCTXP(LOGL_NOTICE, mmctx, "RESUME request while state " "!= SUSPENDED (TLLI=%08x)\n", tlli); /* FIXME: should we not simply ignore it? */ |