mbm: fix initial polling for sim
authorPekka Pessi <Pekka.Pessi@nokia.com>
Mon, 23 Aug 2010 14:18:09 +0000 (17:18 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 23 Aug 2010 14:31:36 +0000 (16:31 +0200)
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

index eb7b1a4..8541aaf 100644 (file)
@@ -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);