summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/rilmodem/sim.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/drivers/rilmodem/sim.c b/drivers/rilmodem/sim.c
index 6f717c5b..b25843ba 100644
--- a/drivers/rilmodem/sim.c
+++ b/drivers/rilmodem/sim.c
@@ -1034,17 +1034,22 @@ static void ril_pin_send_puk(struct ofono_sim *sim,
sd->passwd_type = OFONO_SIM_PASSWORD_SIM_PUK;
- g_ril_request_pin_send_puk(sd->ril,
- puk,
- passwd,
- sd->aid_str,
- &rilp);
+ parcel_init(&rilp);
+
+ parcel_w_int32(&rilp, 3);
+ parcel_w_string(&rilp, puk);
+ parcel_w_string(&rilp, passwd);
+ parcel_w_string(&rilp, sd->aid_str);
+
+ g_ril_append_print_buf(sd->ril, "(puk=%s,pin=%s,aid=%s)",
+ puk, passwd, sd->aid_str);
if (g_ril_send(sd->ril, RIL_REQUEST_ENTER_SIM_PUK, &rilp,
- ril_pin_change_state_cb, cbd, g_free) == 0) {
- g_free(cbd);
- CALLBACK_WITH_FAILURE(cb, data);
- }
+ ril_pin_change_state_cb, cbd, g_free) > 0)
+ return;
+
+ g_free(cbd);
+ CALLBACK_WITH_FAILURE(cb, data);
}
static void ril_change_passwd(struct ofono_sim *sim,