sgsn_libgtp: Avoid ps-paging MS on GMM Suspended state

The MS notifies movement to GMM SUSPEND state because it is for instance
handling a call and cannot use PDCH anymore. Once it releases the TCH it
will ASAP move to either dedicated mode or trigger RAU, which means it
will get out of SUSPEND state. So it doesn't make sense to try paging
the MS when in that state.

Related: OS#4616
Change-Id: Ia245899eb9f16c7f839785def4ceb721a1c3a11b
This commit is contained in:
Pau Espin 2020-06-26 12:09:34 +02:00
parent 36ecddb705
commit da69ced353
1 changed files with 3 additions and 4 deletions

View File

@ -661,11 +661,10 @@ static int cb_data_ind(struct pdp_t *lib, void *packet, unsigned int len)
switch (mm->gmm_fsm->state) {
case ST_GMM_REGISTERED_SUSPENDED:
/* initiate PS PAGING procedure */
LOGMMCTXP(LOGL_INFO, mm, "Paging MS in GMM state %s\n",
LOGMMCTXP(LOGL_INFO, mm, "Dropping DL packet for MS in GMM state %s\n",
osmo_fsm_inst_state_name(mm->gmm_fsm));
gprs_gb_page_ps_ra(mm);
/* FIXME: queue the packet we received from GTP */
break;
msgb_free(msg);
return -1;
case ST_GMM_REGISTERED_NORMAL:
OSMO_ASSERT(mm->gb.mm_state_fsm->state != ST_MM_IDLE);
if (mm->gb.mm_state_fsm->state == ST_MM_STANDBY) {