summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/rilmodem/sim.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/rilmodem/sim.c b/drivers/rilmodem/sim.c
index ae34c02c..73d2f1b0 100644
--- a/drivers/rilmodem/sim.c
+++ b/drivers/rilmodem/sim.c
@@ -1030,16 +1030,18 @@ static void ril_query_pin_retries(struct ofono_sim *sim,
} else if (sd->vendor == OFONO_RIL_VENDOR_MTK) {
struct cb_data *cbd = cb_data_new(cb, data, sd);
struct parcel rilp;
- const char *at_epinc[] = { "AT+EPINC", "+EPINC:" };
- g_ril_request_oem_hook_strings(sd->ril, at_epinc,
- G_N_ELEMENTS(at_epinc), &rilp);
+ parcel_init(&rilp);
+ parcel_w_int32(&rilp, 2);
+ parcel_w_string(&rilp, "AT+EPINC");
+ parcel_w_string(&rilp, "+EPINC:");
if (g_ril_send(sd->ril, RIL_REQUEST_OEM_HOOK_STRINGS, &rilp,
- mtk_pin_retries_cb, cbd, g_free) == 0) {
- g_free(cbd);
- CALLBACK_WITH_FAILURE(cb, NULL, data);
- }
+ mtk_pin_retries_cb, cbd, g_free) > 0)
+ return;
+
+ g_free(cbd);
+ CALLBACK_WITH_FAILURE(cb, NULL, data);
} else {
CALLBACK_WITH_SUCCESS(cb, sd->retries, data);
}