On 02/08/17 02:01, Ben Chan wrote: > During the CONNECT_3GPP_CONTEXT_STEP_LAST step, > connect_3gpp_context_step() conditionally creates and populates a > MMBearerConnectResult object into the GSimpleAsyncResult object when the > ipv4_config field of the Connect3gppContext struct is set. That assumes > the ipv4_config field is always initialized in > connect_dhcp_check_ready() during the > CONNECT_3GPP_CONTEXT_STEP_IP_CONFIG step. Instead of having such an > assumption, this patch modifies connect_3gpp to always initialize > the ipv4_config field, such that connect_3gpp_context_step() always > populates a MMBearerConnectResult object into the GSimpleAsyncResult > object. > ---
Pushed to git master, thanks. > plugins/huawei/mm-broadband-bearer-huawei.c | 20 ++++++++------------ > 1 file changed, 8 insertions(+), 12 deletions(-) > > diff --git a/plugins/huawei/mm-broadband-bearer-huawei.c > b/plugins/huawei/mm-broadband-bearer-huawei.c > index 124b8ed1..175fe5b6 100644 > --- a/plugins/huawei/mm-broadband-bearer-huawei.c > +++ b/plugins/huawei/mm-broadband-bearer-huawei.c > @@ -129,10 +129,6 @@ connect_dhcp_check_ready (MMBaseModem *modem, > /* Balance refcount */ > g_object_unref (self); > > - /* Default to automatic/DHCP addressing */ > - ctx->ipv4_config = mm_bearer_ip_config_new (); > - mm_bearer_ip_config_set_method (ctx->ipv4_config, > MM_BEARER_IP_METHOD_DHCP); > - > /* Cache IPv4 details if available, otherwise clients will have to use > DHCP */ > response = mm_base_modem_at_command_full_finish (modem, res, &error); > if (response) { > @@ -482,14 +478,10 @@ connect_3gpp_context_step (Connect3gppContext *ctx) > ctx->self->priv->connect_pending = NULL; > > /* Setup result */ > - { > - if (ctx->ipv4_config) { > - g_simple_async_result_set_op_res_gpointer ( > - ctx->result, > - mm_bearer_connect_result_new (ctx->data, > ctx->ipv4_config, NULL), > - (GDestroyNotify)mm_bearer_connect_result_unref); > - } > - } > + g_simple_async_result_set_op_res_gpointer ( > + ctx->result, > + mm_bearer_connect_result_new (ctx->data, ctx->ipv4_config, NULL), > + (GDestroyNotify)mm_bearer_connect_result_unref); > > connect_3gpp_context_complete_and_free (ctx); > return; > @@ -540,6 +532,10 @@ connect_3gpp (MMBroadbandBearer *self, > /* Get correct dial port to use */ > ctx->primary = get_dial_port (MM_BROADBAND_MODEM_HUAWEI (ctx->modem), > ctx->data, primary); > > + /* Default to automatic/DHCP addressing */ > + ctx->ipv4_config = mm_bearer_ip_config_new (); > + mm_bearer_ip_config_set_method (ctx->ipv4_config, > MM_BEARER_IP_METHOD_DHCP); > + > /* Run! */ > connect_3gpp_context_step (ctx); > } > -- Aleksander https://aleksander.es _______________________________________________ ModemManager-devel mailing list ModemManager-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel