aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-07-26 09:31:30 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-07-26 11:05:20 +0200
commita448eabb3d8c238f1f734e233edd0ca9b49b2d60 (patch)
tree81daa8c90269478965b4b1aab7d178e7d4746e57
parent8d31e79ac42a5a7df8fbef10cc5454f5a69515f0 (diff)
iface-modem: SIM-PIN2 lock takes us to disabled state, not locked
-rw-r--r--src/mm-iface-modem.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c
index f9266a4c..e3165f29 100644
--- a/src/mm-iface-modem.c
+++ b/src/mm-iface-modem.c
@@ -2534,13 +2534,19 @@ enabling_context_complete_and_free (EnablingContext *ctx)
MM_MODEM_STATE_ENABLED,
MM_MODEM_STATE_CHANGE_REASON_USER_REQUESTED);
else {
+ MMModemLock lock;
+
/* Fallback to DISABLED/LOCKED */
+ lock = mm_gdbus_modem_get_unlock_required (ctx->skeleton);
mm_iface_modem_update_state (
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_LOCKED),
MM_MODEM_STATE_CHANGE_REASON_UNKNOWN);
+
/* Close the ports if enabling failed */
if (ctx->primary_open)
mm_serial_port_close (MM_SERIAL_PORT (ctx->primary));