mirror of git://git.sysmocom.de/ofono
gobi: Handle broken SIM status notification gracefully
This commit is contained in:
parent
2999252d15
commit
1f356f227b
|
@ -126,7 +126,7 @@ static void simstat_notify(GAtResult *result, gpointer user_data)
|
||||||
struct gobi_data *data = ofono_modem_get_data(modem);
|
struct gobi_data *data = ofono_modem_get_data(modem);
|
||||||
|
|
||||||
GAtResultIter iter;
|
GAtResultIter iter;
|
||||||
const char *state;
|
const char *state, *tmp;
|
||||||
|
|
||||||
if (data->sim == NULL)
|
if (data->sim == NULL)
|
||||||
return;
|
return;
|
||||||
|
@ -136,10 +136,17 @@ static void simstat_notify(GAtResult *result, gpointer user_data)
|
||||||
if (!g_at_result_iter_next(&iter, "$QCSIMSTAT:"))
|
if (!g_at_result_iter_next(&iter, "$QCSIMSTAT:"))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!g_at_result_iter_skip_next(&iter))
|
if (!g_at_result_iter_next_unquoted_string(&iter, &tmp))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!g_at_result_iter_next_unquoted_string(&iter, &state))
|
/*
|
||||||
|
* When receiving an unsolicited notification, the comma
|
||||||
|
* is missing ($QCSIMSTAT: 1 SIM INIT COMPLETED). Handle
|
||||||
|
* this gracefully.
|
||||||
|
*/
|
||||||
|
if (g_str_has_prefix(tmp, "1 ") == TRUE)
|
||||||
|
state = tmp + 2;
|
||||||
|
else if (!g_at_result_iter_next_unquoted_string(&iter, &state))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
DBG("state %s", state);
|
DBG("state %s", state);
|
||||||
|
|
Loading…
Reference in New Issue