Issues with modem reset

Aleksander Morgado aleksander at aleksander.es
Wed Jun 28 15:20:14 UTC 2017


On Wed, Jun 28, 2017 at 4:42 PM, Piotr Figiel <figiel at gmail.com> wrote:
>
> diff --git a/src/mm-broadband-bearer.c b/src/mm-broadband-bearer.c
> index aeff2ef..db38970 100644
> --- a/src/mm-broadband-bearer.c
> +++ b/src/mm-broadband-bearer.c
> @@ -1586,8 +1586,10 @@ cgact_ready (MMBaseModem *modem,
>      if (!error)
>          ctx->cgact_sent = TRUE;
>      else {
> -        mm_dbg ("PDP context deactivation failed (not fatal): %s", error->message);
> -        g_error_free (error);
> +        mm_dbg ("PDP context deactivation failed: %s", error->message);
> +        g_simple_async_result_take_error (ctx->result, error);
> +        detailed_disconnect_context_complete_and_free (ctx);
> +        return;
>      }
>
>      data_reopen_3gpp (ctx);


The key point is the kind of error to consider the action fatal and
abort right away. If the device is removed, we should definitely take
it as a fatal error and abort any other action; for other kind of
errors we may want to continue.

This issue is probably solved best by the idea of having "device wide
cancellations", were we would g_cancellable_cancel() a GCancellable
object shared among all AT/QMI/MBIM command actions.

-- 
Aleksander
https://aleksander.es


More information about the ModemManager-devel mailing list