Hi Guillaume,

On 04/12/2012 09:28 AM, Guillaume Zajac wrote:
> For some modem like ZTE MF180/190, we need to do some
> polling to check SIM state when it returns +CME ERROR: 14 busy.
> ---
>  drivers/atmodem/sim.c |   59 +++++++++++++++++++++++++++++++++++++++---------
>  1 files changed, 48 insertions(+), 11 deletions(-)
> 

<snip>

> @@ -874,9 +878,22 @@ static void at_cpin_cb(gboolean ok, GAtResult *result, 
> gpointer user_data)
>       else
>               decode_at_error(&error, final);
>  
> -     if (!ok) {
> +     switch (error.type) {
> +     case OFONO_ERROR_TYPE_NO_ERROR:
> +             break;
> +     case OFONO_ERROR_TYPE_CME:
> +             /* Check for SIM busy - try again later */
> +             if (error.error == 14) {
> +                     if (sd->poll_count++ < 12) {
> +                             sd->poll_source = g_timeout_add_seconds(2,
> +                                             sim_state_check, cbd);
> +                             return;
> +                     }
> +             }
> +             /* fall through */
> +     default:
>               cb(&error, -1, cbd->data);
> -             return;
> +             goto done;
>       }
>  
>       if (sd->vendor == OFONO_VENDOR_WAVECOM) {

Is there a reason we are not using at_util_sim_state_query_new?

<snip>

Regards,
-Denis
_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to