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