diff options
author | ori inbar <ori.inbar.altair.semi.com@gmail.com> | 2013-03-27 15:25:58 -0500 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2013-03-28 20:13:20 +0100 |
commit | 98772f2ec9af0662631232a176141465a12b06e6 (patch) | |
tree | a062db5cad9ce01453d8f85760d3f729132d55b5 | |
parent | effd574a632c78f70887368c8296d133157c2a3c (diff) |
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.
-rw-r--r-- | src/mm-iface-modem-3gpp.c | 7 |
1 files changed, 6 insertions, 1 deletions
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, |