diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-06-26 12:09:34 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-06-26 12:09:37 +0200 |
commit | da69ced35393a86f03b3a5e503bf3ae1ec80ba41 (patch) | |
tree | ca98bbc04b8791a20c5c9726ca4710f9b3b5beb6 /src/sgsn | |
parent | 36ecddb705300c1dedd10a05e1f6c0f1a52e4caa (diff) |
sgsn_libgtp: Avoid ps-paging MS on GMM Suspended statepespin/pspaging
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
Diffstat (limited to 'src/sgsn')
-rw-r--r-- | src/sgsn/sgsn_libgtp.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index 717df4ab0..e237eed3b 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -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) { |