diff options
author | Dan Williams <dcbw@redhat.com> | 2013-01-08 14:41:51 -0600 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2013-01-14 13:50:27 -0600 |
commit | fdad4d636d39e6f5df80ff1197ee645ccd572078 (patch) | |
tree | bec67b72f629fcd725a10176f0bdb65dd9c4f249 /src/mm-iface-modem-cdma.c | |
parent | edeb75b0286b8a6915a4512d1d823875326e15cf (diff) |
broadband-modem: guess CDMA access technologies from registration state
Setting access technologies from registration state as part of the
registration checking in the CDMA Interface code fights with
custom implementations in each modem subclass, which causes the
access technologies to ping-pong between more specific (custom
implementation) and less specific (generated from registration state
during registration checking). If the modem class has more
specific access technology knowledge, we should use that and not
override it on the next registration state poll.
So instead, implement the generic access technology update from
registration state in the broadband modem base class'
load_access_technologies() hook. Thus, modem classes with more
specific checking (which override MMBroadbandModem's implementation)
will never fight with generic checking, while modems that don't
(and thus actually need the generic checking) still get some basic
access technology handling.
Diffstat (limited to 'src/mm-iface-modem-cdma.c')
-rw-r--r-- | src/mm-iface-modem-cdma.c | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/src/mm-iface-modem-cdma.c b/src/mm-iface-modem-cdma.c index f5206727..64f5ecc2 100644 --- a/src/mm-iface-modem-cdma.c +++ b/src/mm-iface-modem-cdma.c @@ -868,23 +868,6 @@ registration_check_step (RunRegistrationChecksContext *ctx) mm_iface_modem_cdma_update_evdo_registration_state (ctx->self, ctx->evdo_state); - /* Update access technologies. - * TODO: proper EV-DO revision reporting */ - { - MMModemAccessTechnology act = MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN; - - if (ctx->cdma1x_state == MM_MODEM_CDMA_REGISTRATION_STATE_HOME || - ctx->cdma1x_state == MM_MODEM_CDMA_REGISTRATION_STATE_ROAMING || - ctx->cdma1x_state == MM_MODEM_CDMA_REGISTRATION_STATE_REGISTERED) - act |= MM_IFACE_MODEM_CDMA_ALL_CDMA1X_ACCESS_TECHNOLOGIES_MASK; - - if (ctx->evdo_state == MM_MODEM_CDMA_REGISTRATION_STATE_HOME || - ctx->evdo_state == MM_MODEM_CDMA_REGISTRATION_STATE_ROAMING || - ctx->evdo_state == MM_MODEM_CDMA_REGISTRATION_STATE_REGISTERED) - act |= MM_IFACE_MODEM_CDMA_ALL_EVDO_ACCESS_TECHNOLOGIES_MASK; - mm_iface_modem_cdma_update_access_technologies (MM_IFACE_MODEM_CDMA (ctx->self), act); - } - g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE); run_registration_checks_context_complete_and_free (ctx); return; |