diff options
Diffstat (limited to 'src/mm-modem-helpers-qmi.c')
-rw-r--r-- | src/mm-modem-helpers-qmi.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mm-modem-helpers-qmi.c b/src/mm-modem-helpers-qmi.c index 52cad511..af0926fb 100644 --- a/src/mm-modem-helpers-qmi.c +++ b/src/mm-modem-helpers-qmi.c @@ -1924,6 +1924,16 @@ mm_qmi_uim_get_card_status_output_parse (gpointer log_ return FALSE; } + /* Illegal application state is fatal, consider it as a failed SIM right + * away and don't even attempt to retry */ + if (app->state == QMI_UIM_CARD_APPLICATION_STATE_ILLEGAL) { + g_set_error (error, + MM_MOBILE_EQUIPMENT_ERROR, + MM_MOBILE_EQUIPMENT_ERROR_SIM_WRONG, + "Illegal SIM/USIM application state"); + return FALSE; + } + /* If card not ready yet, return RETRY error. * If the application state reports needing PIN/PUk, consider that ready as * well, and let the logic fall down to check PIN1/PIN2. */ |