DBusMessage *reply = __ofono_error_failed(sim->pending);
__ofono_dbus_pending_reply(&sim->pending, reply);
- sim_pin_retries_check(sim);
+ sim_pin_check(sim);
return;
}
DBusMessage *reply = __ofono_error_failed(sim->pending);
__ofono_dbus_pending_reply(&sim->pending, reply);
- sim_pin_retries_check(sim);
+ sim_pin_check(sim);
return;
}
__ofono_dbus_pending_reply(&sim->pending,
__ofono_error_failed(sim->pending));
- sim_pin_retries_check(sim);
+ sim_pin_check(sim);
return;
}
&pin_name);
}
+ if (pin_type != OFONO_SIM_PASSWORD_NONE &&
+ sim->state == OFONO_SIM_STATE_READY) {
+ /* Force the sim state out of READY */
+ sim_free_main_state(sim);
+
+ sim->state = OFONO_SIM_STATE_INSERTED;
+ __ofono_modem_sim_reset(__ofono_atom_get_modem(sim->atom));
+ }
+
sim_pin_retries_check(sim);
checkdone: