[MM][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 7049ec8..d116e00 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,
-- 
1.7.12.4



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]