From 51a1bae8c784f5f2b3856bc73d1eb89b49221ba5 Mon Sep 17 00:00:00 2001 From: Pekka Pessi Date: Mon, 23 Aug 2010 17:18:09 +0300 Subject: mbm: fix initial polling for sim There seems to be no specific error codes returned when SIM is missing. Poll at least 5 times upon an error and give up after that. --- plugins/mbm.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'plugins/mbm.c') diff --git a/plugins/mbm.c b/plugins/mbm.c index eb7b1a49..8541aafb 100644 --- a/plugins/mbm.c +++ b/plugins/mbm.c @@ -108,10 +108,8 @@ static void simpin_check(gboolean ok, GAtResult *result, gpointer user_data) DBG(""); - /* Modem returns +CME ERROR: 10 if SIM is not ready. */ - if (!ok && result->final_or_pdu && - !strcmp(result->final_or_pdu, "+CME ERROR: 10") && - data->cpin_poll_count++ < 5) { + /* Modem returns an error if SIM is not ready. */ + if (!ok && data->cpin_poll_count++ < 5) { data->cpin_poll_source = g_timeout_add_seconds(1, init_simpin_check, modem); return; @@ -119,7 +117,7 @@ static void simpin_check(gboolean ok, GAtResult *result, gpointer user_data) data->cpin_poll_count = 0; - /* Modem returns ERROR if there is no SIM in slot. */ + /* There is probably no SIM if SIM is not ready after 5 seconds. */ data->have_sim = ok; ofono_modem_set_powered(modem, TRUE); -- cgit v1.2.3