[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