From: Marit Henriksen <[email protected]>
When changing pin, it is possible to get in a state where the modem requests
puk
(if incorrect pin is entered too many times). Need to check the SIM pin status
to discover this.
---
src/sim.c | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/src/sim.c b/src/sim.c
index 699ebe9..b2277c5 100644
--- a/src/sim.c
+++ b/src/sim.c
@@ -628,15 +628,16 @@ static DBusMessage *sim_unlock_pin(DBusConnection *conn,
DBusMessage *msg,
static void sim_change_pin_cb(const struct ofono_error *error, void *data)
{
struct ofono_sim *sim = data;
+ DBusMessage *reply;
- if (error->type != OFONO_ERROR_TYPE_NO_ERROR) {
- __ofono_dbus_pending_reply(&sim->pending,
- __ofono_error_failed(sim->pending));
- return;
- }
+ if (error->type != OFONO_ERROR_TYPE_NO_ERROR)
+ reply = __ofono_error_failed(sim->pending);
+ else
+ reply = dbus_message_new_method_return(sim->pending);
- __ofono_dbus_pending_reply(&sim->pending,
- dbus_message_new_method_return(sim->pending));
+ __ofono_dbus_pending_reply(&sim->pending, reply);
+
+ sim_pin_check(sim);
}
static DBusMessage *sim_change_pin(DBusConnection *conn, DBusMessage *msg,
--
1.7.0.4
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono