diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-02-03 19:45:46 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2015-02-06 13:22:24 +0100 |
commit | ca69b0f68d748e56eecd14d1c1a754971e9240ba (patch) | |
tree | 89a0b19720e68c8233faaa31f0c6ada6445ff102 /openbsc/src | |
parent | 277b71e0d8b7a8c53599546b0d06ae3810a290eb (diff) |
Revert "gprs: Block other GSUP procedures during PURGE_MS"
This reverts commit f81cacc6814dde73f203d125b0065d1451a98317.
Since the PURGE MS retry mechanism had been removed, this feature
is not used anymore. It just makes the code more complex.
Conflicts:
openbsc/include/openbsc/gprs_sgsn.h
openbsc/src/gprs/gprs_subscriber.c
openbsc/tests/sgsn/sgsn_test.c
Diffstat (limited to 'openbsc/src')
-rw-r--r-- | openbsc/src/gprs/gprs_subscriber.c | 51 |
1 files changed, 1 insertions, 50 deletions
diff --git a/openbsc/src/gprs/gprs_subscriber.c b/openbsc/src/gprs/gprs_subscriber.c index 24603403d..848683439 100644 --- a/openbsc/src/gprs/gprs_subscriber.c +++ b/openbsc/src/gprs/gprs_subscriber.c @@ -82,22 +82,6 @@ static int gsup_read_cb(struct gprs_gsup_client *gsupc, struct msgb *msg) return rc; } -static int check_blocking( - struct gsm_subscriber *subscr, - enum sgsn_subscriber_proc what) -{ - if (subscr->sgsn_data->blocked_by == SGSN_SUBSCR_PROC_NONE || - subscr->sgsn_data->blocked_by == what) - return 1; - - return 0; -} - -static void abort_blocking_procedure(struct gsm_subscriber *subscr) -{ - /* reset something */ -} - int gprs_subscr_purge(struct gsm_subscriber *subscr); static struct sgsn_subscriber_data *sgsn_subscriber_data_alloc(void *ctx) @@ -659,42 +643,17 @@ int gprs_subscr_rx_gsup_message(struct msgb *msg) int gprs_subscr_purge(struct gsm_subscriber *subscr) { struct gprs_gsup_message gsup_msg = {0}; - int rc; - - if (!check_blocking(subscr, SGSN_SUBSCR_PROC_PURGE)) { - LOGGSUBSCRP( - LOGL_NOTICE, subscr, - "Cannot purge MS subscriber, blocked\n"); - return -EAGAIN; - } - - /* GSM 09.02, 19.4.1.4 requires other MAP requests to be blocked until - * this procedure is completed - */ - subscr->sgsn_data->blocked_by = SGSN_SUBSCR_PROC_PURGE; LOGGSUBSCRP(LOGL_INFO, subscr, "purging MS subscriber\n"); gsup_msg.message_type = GPRS_GSUP_MSGT_PURGE_MS_REQUEST; - rc = gprs_subscr_tx_gsup_message(subscr, &gsup_msg); - if (rc < 0) - subscr->sgsn_data->blocked_by = SGSN_SUBSCR_PROC_NONE; - - return rc; + return gprs_subscr_tx_gsup_message(subscr, &gsup_msg); } int gprs_subscr_query_auth_info(struct gsm_subscriber *subscr) { struct gprs_gsup_message gsup_msg = {0}; - if (!check_blocking(subscr, SGSN_SUBSCR_PROC_UPD_AUTH)) { - LOGGSUBSCRP( - LOGL_NOTICE, subscr, - "Cannot start update auth info request procedure, blocked\n"); - abort_blocking_procedure(subscr); - return -EAGAIN; - } - LOGGSUBSCRP(LOGL_INFO, subscr, "subscriber auth info is not available\n"); @@ -706,14 +665,6 @@ int gprs_subscr_location_update(struct gsm_subscriber *subscr) { struct gprs_gsup_message gsup_msg = {0}; - if (!check_blocking(subscr, SGSN_SUBSCR_PROC_UPD_LOC)) { - LOGGSUBSCRP( - LOGL_NOTICE, subscr, - "Cannot start update location procedure, blocked\n"); - abort_blocking_procedure(subscr); - return -EAGAIN; - } - LOGGSUBSCRP(LOGL_INFO, subscr, "subscriber data is not available\n"); |