On Tue, 2013-03-05 at 21:27 +0100, Jiri Pirko wrote:
> Tue, Mar 05, 2013 at 07:32:21PM CET, [email protected] wrote:
> >On 03/05/2013 03:37 AM, Ben Chan wrote:
> >> This patch changes MMIfaceModem3gpp to differentiate between deferrable
> >> and non-deferrable 3GPP registration state updates. Periodic or
> >> unsolicited registration state updates are deferrable, while internal
> >> updates, e.g. due to modem being disabled, are non-deferrable.
> >> ---
> >> src/mm-iface-modem-3gpp.c | 40 ++++++++++++++++++++++------------------
> >> 1 file changed, 22 insertions(+), 18 deletions(-)
> >
> >
> >Pushed after some minor modifications.
>
> Sorry, I'm not sure I understand this correctly. Can you please tell be
> what does this message mean? Thanks.
Usually whitespace fixes, slight style changes, or stuff like fixing a
missing free that shouldn't be a completely new commit, but aren't
enough to change attribution from the original submitter.
Dan
> Jiri
>
> >
> >Thanks.
> >
> >>
> >> diff --git a/src/mm-iface-modem-3gpp.c b/src/mm-iface-modem-3gpp.c
> >> index 6c8bb14..7049ec8 100644
> >> --- a/src/mm-iface-modem-3gpp.c
> >> +++ b/src/mm-iface-modem-3gpp.c
> >> @@ -1093,7 +1093,8 @@ run_deferred_registration_state_update
> >> (MMIfaceModem3gpp *self)
> >>
> >> static void
> >> update_registration_state (MMIfaceModem3gpp *self,
> >> - MMModem3gppRegistrationState new_state)
> >> + MMModem3gppRegistrationState new_state,
> >> + gboolean deferrable)
> >> {
> >> MMModem3gppRegistrationState old_state =
> >> MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN;
> >> RegistrationStateContext *ctx;
> >> @@ -1106,18 +1107,20 @@ update_registration_state (MMIfaceModem3gpp *self,
> >> g_assert (ctx);
> >>
> >> if (ctx->deferred_update_id != 0) {
> >> - /* If there is already a deferred 'registration loss' state
> >> update and the new update
> >> - * is not a registered state, update the deferred state update
> >> without extending the
> >> - * timeout. */
> >> - if (new_state != MM_MODEM_3GPP_REGISTRATION_STATE_HOME &&
> >> - new_state != MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING) {
> >> - mm_info ("Modem %s: 3GPP Registration state changed (%s ->
> >> %s), update deferred",
> >> - g_dbus_object_get_object_path (G_DBUS_OBJECT (self)),
> >> - mm_modem_3gpp_registration_state_get_string
> >> (old_state),
> >> - mm_modem_3gpp_registration_state_get_string
> >> (new_state));
> >> -
> >> - ctx->deferred_new_state = new_state;
> >> - return;
> >> + if (deferrable) {
> >> + /* If there is already a deferred 'registration loss' state
> >> update and the new update
> >> + * is not a registered state, update the deferred state
> >> update without extending the
> >> + * timeout. */
> >> + if (new_state != MM_MODEM_3GPP_REGISTRATION_STATE_HOME &&
> >> + new_state != MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING) {
> >
> >
> >
> >> + mm_info ("Modem %s: 3GPP Registration state changed (%s
> >> -> %s), update deferred",
> >> + g_dbus_object_get_object_path (G_DBUS_OBJECT
> >> (self)),
> >> + mm_modem_3gpp_registration_state_get_string
> >> (old_state),
> >> + mm_modem_3gpp_registration_state_get_string
> >> (new_state));
> >> +
> >> + ctx->deferred_new_state = new_state;
> >> + return;
> >> + }
> >> }
> >>
> >> /* Otherwise, cancel any deferred registration state update */
> >> @@ -1153,7 +1156,8 @@ update_registration_state (MMIfaceModem3gpp *self,
> >> if ((old_state == MM_MODEM_3GPP_REGISTRATION_STATE_HOME ||
> >> old_state == MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING) &&
> >> (new_state == MM_MODEM_3GPP_REGISTRATION_STATE_SEARCHING ||
> >> - new_state == MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN)) {
> >> + new_state == MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN) &&
> >> + deferrable) {
> >> mm_info ("Modem %s: 3GPP Registration state changed (%s -> %s),
> >> update deferred",
> >> g_dbus_object_get_object_path (G_DBUS_OBJECT (self)),
> >> mm_modem_3gpp_registration_state_get_string (old_state),
> >> @@ -1191,7 +1195,7 @@ mm_iface_modem_3gpp_update_cs_registration_state
> >> (MMIfaceModem3gpp *self,
> >>
> >> ctx = get_registration_state_context (self);
> >> ctx->cs = state;
> >> - update_registration_state (self, get_consolidated_reg_state (ctx));
> >> + update_registration_state (self, get_consolidated_reg_state (ctx),
> >> TRUE);
> >> }
> >>
> >> void
> >> @@ -1210,7 +1214,7 @@ mm_iface_modem_3gpp_update_ps_registration_state
> >> (MMIfaceModem3gpp *self,
> >>
> >> ctx = get_registration_state_context (self);
> >> ctx->ps = state;
> >> - update_registration_state (self, get_consolidated_reg_state (ctx));
> >> + update_registration_state (self, get_consolidated_reg_state (ctx),
> >> TRUE);
> >> }
> >>
> >> void
> >> @@ -1229,7 +1233,7 @@ mm_iface_modem_3gpp_update_eps_registration_state
> >> (MMIfaceModem3gpp *self,
> >>
> >> ctx = get_registration_state_context (self);
> >> ctx->eps = state;
> >> - update_registration_state (self, get_consolidated_reg_state (ctx));
> >> + update_registration_state (self, get_consolidated_reg_state (ctx),
> >> TRUE);
> >> }
> >>
> >>
> >> /*****************************************************************************/
> >> @@ -1492,7 +1496,7 @@ interface_disabling_step (DisablingContext *ctx)
> >> ctx->step++;
> >>
> >> case DISABLING_STEP_REGISTRATION_STATE:
> >> - update_registration_state (ctx->self,
> >> MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN);
> >> + update_registration_state (ctx->self,
> >> MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN, FALSE);
> >> mm_iface_modem_3gpp_update_access_technologies (ctx->self,
> >> MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN);
> >> mm_iface_modem_3gpp_update_location (ctx->self, 0, 0);
> >> /* Fall down to next step */
> >>
> >
> >
> >--
> >Aleksander
> >_______________________________________________
> >networkmanager-list mailing list
> >[email protected]
> >https://mail.gnome.org/mailman/listinfo/networkmanager-list
> _______________________________________________
> networkmanager-list mailing list
> [email protected]
> https://mail.gnome.org/mailman/listinfo/networkmanager-list
_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list