From 98772f2ec9af0662631232a176141465a12b06e6 Mon Sep 17 00:00:00 2001 From: ori inbar Date: Wed, 27 Mar 2013 15:25:58 -0500 Subject: [PATCH] iface-modem-3gpp: handle access technology change in operator_loading state This patch fixes a problem of disregarding CEREG/CGREG/CREG reported access technology since we are in "registering" state - meaning we are loading operator name+code. now even in this transition state the ACT is updated. --- src/mm-iface-modem-3gpp.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/mm-iface-modem-3gpp.c b/src/mm-iface-modem-3gpp.c index 6ec07a68..a3d94402 100644 --- a/src/mm-iface-modem-3gpp.c +++ b/src/mm-iface-modem-3gpp.c @@ -963,6 +963,10 @@ mm_iface_modem_3gpp_update_access_technologies (MMIfaceModem3gpp *self, MMModemAccessTechnology access_tech) { MMModem3gppRegistrationState state; + RegistrationStateContext *ctx; + + ctx = get_registration_state_context (self); + g_assert (ctx); g_object_get (self, MM_IFACE_MODEM_3GPP_REGISTRATION_STATE, &state, @@ -971,7 +975,8 @@ mm_iface_modem_3gpp_update_access_technologies (MMIfaceModem3gpp *self, /* Even if registration state didn't change, report access technology, * but only if something valid to report */ if (state == MM_MODEM_3GPP_REGISTRATION_STATE_HOME || - state == MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING) { + state == MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING || + ctx->reloading_operator) { if (access_tech != MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN) mm_iface_modem_update_access_technologies (MM_IFACE_MODEM (self), access_tech,