summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sim.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sim.c b/sim.c
index 3d940fa..034c153 100644
--- a/sim.c
+++ b/sim.c
@@ -1088,8 +1088,13 @@ int ril_request_sim_io(void *data, size_t size, RIL_Token token)
goto error;
rc = ril_radio_state_check(RADIO_STATE_SIM_READY);
- if (rc < 0)
- return RIL_REQUEST_UNHANDLED;
+ if (rc < 0) {
+ rc = ril_radio_state_check(RADIO_STATE_SIM_LOCKED_OR_ABSENT);
+ if (rc < 0)
+ return RIL_REQUEST_UNHANDLED;
+ else
+ RIL_LOGE("%s: SIM is locked or absent.", __func__);
+ }
request = ril_request_find_request_status(RIL_REQUEST_SIM_IO, RIL_REQUEST_HANDLED);
if (request != NULL)