[PATCH 1/2] Inverted steps in update_lock_info_context_step

Aleksander Morgado aleksander at aleksander.es
Tue Jul 26 12:11:19 UTC 2016


On 13/05/16 17:15, Carlo Lobrano wrote:
> Inverted steps UPDATE_LOCK_INFO_CONTEXT_STEP_RETRIES and
> UPDATE_LOCK_INFO_CONTEXT_STEP_AFTER_UNLOCK.
> 
> Soon after the unlock, the SIM can be busy and
> loading unlock retries might fail.
> 
> When implemented, let run "after unlock" logic before any other step in
> update lock info, when SIM is not locked this change does not have any
> effect since "after unlock" is not executed.

Pushed to git master, thanks!

> ---
>  src/mm-iface-modem.c | 32 ++++++++++++++++----------------
>  1 file changed, 16 insertions(+), 16 deletions(-)
> 
> diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c
> index 516ed78..bbc76ae 100644
> --- a/src/mm-iface-modem.c
> +++ b/src/mm-iface-modem.c
> @@ -2907,8 +2907,8 @@ update_unlock_retries (MMIfaceModem *self,
>  typedef enum {
>      UPDATE_LOCK_INFO_CONTEXT_STEP_FIRST = 0,
>      UPDATE_LOCK_INFO_CONTEXT_STEP_LOCK,
> -    UPDATE_LOCK_INFO_CONTEXT_STEP_RETRIES,
>      UPDATE_LOCK_INFO_CONTEXT_STEP_AFTER_UNLOCK,
> +    UPDATE_LOCK_INFO_CONTEXT_STEP_RETRIES,
>      UPDATE_LOCK_INFO_CONTEXT_STEP_LAST
>  } UpdateLockInfoContextStep;
>  
> @@ -3073,21 +3073,7 @@ update_lock_info_context_step (UpdateLockInfoContext *ctx)
>  
>          /* Fall down to next step */
>          ctx->step++;
> -
> -    case UPDATE_LOCK_INFO_CONTEXT_STEP_RETRIES:
> -        /* Load unlock retries if possible */
> -        if (MM_IFACE_MODEM_GET_INTERFACE (ctx->self)->load_unlock_retries &&
> -            MM_IFACE_MODEM_GET_INTERFACE (ctx->self)->load_unlock_retries_finish) {
> -            MM_IFACE_MODEM_GET_INTERFACE (ctx->self)->load_unlock_retries (
> -                ctx->self,
> -                (GAsyncReadyCallback)load_unlock_retries_ready,
> -                ctx);
> -            return;
> -        }
> -
> -        /* Fall down to next step */
> -        ctx->step++;
> -
> + 
>      case UPDATE_LOCK_INFO_CONTEXT_STEP_AFTER_UNLOCK:
>          /* If we get that no lock is required, run the after SIM unlock step
>           * in order to wait for the SIM to get ready.  Skip waiting on
> @@ -3113,6 +3099,20 @@ update_lock_info_context_step (UpdateLockInfoContext *ctx)
>          /* Fall down to next step */
>          ctx->step++;
>  
> +    case UPDATE_LOCK_INFO_CONTEXT_STEP_RETRIES:
> +        /* Load unlock retries if possible */
> +        if (MM_IFACE_MODEM_GET_INTERFACE (ctx->self)->load_unlock_retries &&
> +            MM_IFACE_MODEM_GET_INTERFACE (ctx->self)->load_unlock_retries_finish) {
> +            MM_IFACE_MODEM_GET_INTERFACE (ctx->self)->load_unlock_retries (
> +                ctx->self,
> +                (GAsyncReadyCallback)load_unlock_retries_ready,
> +                ctx);
> +            return;
> +        }
> +
> +        /* Fall down to next step */
> +        ctx->step++;
> +
>      case UPDATE_LOCK_INFO_CONTEXT_STEP_LAST:
>          if (ctx->saved_error) {
>              /* Return saved error */
> 


-- 
Aleksander
https://aleksander.es


More information about the ModemManager-devel mailing list