Compare commits

...

2 Commits

Author SHA1 Message Date
Slava Monich
b3380c6eca [ril] Don't wait for SIM state change after enabling/disabling pin. JB#41508
There's no real need for that, but most importantly no SIM state change
event is generated by MTK RIL in such cases.
2018-05-14 18:51:31 +03:00
Slava Monich
f98e9a2193 ussd: Don't ignore data from TERMINATED response
Typically responses to USSD requests are coming with status
zero (NOTIFY) but some are coming with status 2 (TERMINATED).
If those contain data, the data should be presented to the user.

[ussd] Don't ignore data from TERMINATED response. Fixes JB#41734
2018-04-25 11:07:35 +03:00
2 changed files with 12 additions and 7 deletions

View File

@@ -1253,7 +1253,7 @@ static guint ril_perso_change_state(struct ofono_sim *sim,
if (req) {
id = grilio_queue_send_request_full(sd->q, req, code,
ril_sim_pin_change_state_cb, ril_sim_pin_req_done,
ril_sim_pin_cbd_new(sd, passwd_type, TRUE, cb, data));
ril_sim_pin_cbd_new(sd, passwd_type, FALSE, cb, data));
grilio_request_unref(req);
}
@@ -1309,7 +1309,7 @@ static void ril_sim_pin_change_state(struct ofono_sim *sim,
id = grilio_queue_send_request_full(sd->q, req,
RIL_REQUEST_SET_FACILITY_LOCK,
ril_sim_pin_change_state_cb, ril_sim_pin_req_done,
ril_sim_pin_cbd_new(sd, passwd_type, TRUE, cb, data));
ril_sim_pin_cbd_new(sd, passwd_type, FALSE, cb, data));
grilio_request_unref(req);
}

View File

@@ -417,13 +417,18 @@ void ofono_ussd_notify(struct ofono_ussd *ussd, int status, int dcs,
}
if (status == OFONO_USSD_STATUS_TERMINATED) {
ussd_change_state(ussd, USSD_STATE_IDLE);
if (ussd->state == USSD_STATE_ACTIVE && data && data_len > 0) {
/* Interpret that as a Notify */
status = OFONO_USSD_STATUS_NOTIFY;
} else {
ussd_change_state(ussd, USSD_STATE_IDLE);
if (ussd->pending == NULL)
return;
if (ussd->pending == NULL)
return;
reply = __ofono_error_network_terminated(ussd->pending);
goto out;
reply = __ofono_error_network_terminated(ussd->pending);
goto out;
}
}
if (status == OFONO_USSD_STATUS_NOT_SUPPORTED) {