iface-modem: SIM-PIN2 lock takes us to disabled state, not locked

This commit is contained in:
Aleksander Morgado
2012-07-26 09:31:30 +02:00
parent 8d31e79ac4
commit a448eabb3d

View File

@@ -2534,13 +2534,19 @@ enabling_context_complete_and_free (EnablingContext *ctx)
MM_MODEM_STATE_ENABLED, MM_MODEM_STATE_ENABLED,
MM_MODEM_STATE_CHANGE_REASON_USER_REQUESTED); MM_MODEM_STATE_CHANGE_REASON_USER_REQUESTED);
else { else {
MMModemLock lock;
/* Fallback to DISABLED/LOCKED */ /* Fallback to DISABLED/LOCKED */
lock = mm_gdbus_modem_get_unlock_required (ctx->skeleton);
mm_iface_modem_update_state ( mm_iface_modem_update_state (
ctx->self, ctx->self,
(mm_gdbus_modem_get_unlock_required (ctx->skeleton) == MM_MODEM_LOCK_NONE ? ((lock == MM_MODEM_LOCK_NONE ||
lock == MM_MODEM_LOCK_SIM_PIN2 ||
lock == MM_MODEM_LOCK_SIM_PUK2) ?
MM_MODEM_STATE_DISABLED : MM_MODEM_STATE_DISABLED :
MM_MODEM_STATE_LOCKED), MM_MODEM_STATE_LOCKED),
MM_MODEM_STATE_CHANGE_REASON_UNKNOWN); MM_MODEM_STATE_CHANGE_REASON_UNKNOWN);
/* Close the ports if enabling failed */ /* Close the ports if enabling failed */
if (ctx->primary_open) if (ctx->primary_open)
mm_serial_port_close (MM_SERIAL_PORT (ctx->primary)); mm_serial_port_close (MM_SERIAL_PORT (ctx->primary));