From ddac446e86319156eb520da159d2a661047afd4e Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Tue, 20 Dec 2011 16:04:24 +0100 Subject: [PATCH] iface-modem-3gpp: disable periodic registration checks --- src/mm-iface-modem-3gpp.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/mm-iface-modem-3gpp.c b/src/mm-iface-modem-3gpp.c index c509c4f7..c71641f4 100644 --- a/src/mm-iface-modem-3gpp.c +++ b/src/mm-iface-modem-3gpp.c @@ -580,18 +580,18 @@ periodic_registration_check (MMIfaceModem3gpp *self) return TRUE; } -/* static void */ -/* periodic_registration_check_disable (MMIfaceModem3gpp *self) */ -/* { */ -/* guint timeout_source; */ +static void +periodic_registration_check_disable (MMIfaceModem3gpp *self) +{ + guint timeout_source; -/* timeout_source = GPOINTER_TO_UINT (g_object_get_qdata (G_OBJECT (self), check_enabled)); */ -/* if (timeout_source) { */ -/* g_source_remove (timeout_source); */ -/* g_object_set_qdata (G_OBJECT (self), check_enabled, GUINT_TO_POINTER (FALSE)); */ -/* mm_dbg ("Periodic registration checks disabled"); */ -/* } */ -/* } */ + timeout_source = GPOINTER_TO_UINT (g_object_get_qdata (G_OBJECT (self), check_enabled)); + if (timeout_source) { + g_source_remove (timeout_source); + g_object_set_qdata (G_OBJECT (self), check_enabled, GUINT_TO_POINTER (FALSE)); + mm_dbg ("Periodic registration checks disabled"); + } +} static void periodic_registration_check_enable (MMIfaceModem3gpp *self) @@ -730,6 +730,7 @@ static void interface_disabling_step (DisablingContext *ctx); typedef enum { DISABLING_STEP_FIRST, DISABLING_STEP_DISCONNECT_BEARERS, + DISABLING_STEP_PERIODIC_REGISTRATION_CHECKS, DISABLING_STEP_CLEANUP_PS_REGISTRATION, DISABLING_STEP_CLEANUP_CS_REGISTRATION, DISABLING_STEP_CLEANUP_UNSOLICITED_REGISTRATION, @@ -845,6 +846,11 @@ interface_disabling_step (DisablingContext *ctx) ctx); return; + case DISABLING_STEP_PERIODIC_REGISTRATION_CHECKS: + periodic_registration_check_disable (ctx->self); + /* Fall down to next step */ + ctx->step++; + case DISABLING_STEP_CLEANUP_PS_REGISTRATION: if (MM_IFACE_MODEM_3GPP_GET_INTERFACE (ctx->self)->cleanup_ps_registration && MM_IFACE_MODEM_3GPP_GET_INTERFACE (ctx->self)->cleanup_ps_registration_finish) {