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
diff --git a/openbsc/src/gprs/gprs_subscriber.c b/openbsc/src/gprs/gprs_subscriber.c
index 2460340..8486834 100644
--- a/openbsc/src/gprs/gprs_subscriber.c
+++ b/openbsc/src/gprs/gprs_subscriber.c
@@ -82,22 +82,6 @@
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_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 @@
{
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");