aboutsummaryrefslogtreecommitdiff
path: root/src/mm-modem-helpers-qmi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-modem-helpers-qmi.c')
-rw-r--r--src/mm-modem-helpers-qmi.c10
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. */