diff --git a/src/sgsn/gprs_subscriber.c b/src/sgsn/gprs_subscriber.c index 460450c1e..7efaab9c9 100644 --- a/src/sgsn/gprs_subscriber.c +++ b/src/sgsn/gprs_subscriber.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -537,9 +538,8 @@ static int gprs_subscr_handle_gsup_upd_loc_err(struct gprs_subscr *subscr, get_value_string(gsm48_gmm_cause_names, gsup_msg->cause), gsup_msg->cause); - subscr->authorized = 0; - subscr->sgsn_data->error_cause = gsup_msg->cause; - gprs_subscr_update_auth_info(subscr); + osmo_fsm_inst_dispatch(subscr->sgsn_data->mm->gmm_att_req.fsm, + E_REJECT, (void *) gsup_msg->cause); break; case EHOSTUNREACH: