diff options
author | Paul Kocialkowski <contact@paulk.fr> | 2013-09-28 16:38:51 +0200 |
---|---|---|
committer | Paul Kocialkowski <contact@paulk.fr> | 2013-09-28 16:38:51 +0200 |
commit | fd051580b347b09bf43d1fab29cea3d58b113e09 (patch) | |
tree | df76485577c71a1435be41a1b6115f2fe4795263 /gprs.c | |
parent | 233ef2c6769c1c833e89651ae5846e66a5097cfb (diff) | |
download | hardware_ril_samsung-ril-fd051580b347b09bf43d1fab29cea3d58b113e09.zip hardware_ril_samsung-ril-fd051580b347b09bf43d1fab29cea3d58b113e09.tar.gz hardware_ril_samsung-ril-fd051580b347b09bf43d1fab29cea3d58b113e09.tar.bz2 |
Check modem state before RIL requests and properly report it on crash
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'gprs.c')
-rw-r--r-- | gprs.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -372,6 +372,9 @@ void ril_request_setup_data_call(RIL_Token t, void *data, int length) if (data == NULL || length < (int) (4 * sizeof(char *))) goto error; + if (ril_radio_state_complete(RADIO_STATE_OFF, t)) + return; + if (ril_data.ipc_fmt_client == NULL || ril_data.ipc_fmt_client->data == NULL) goto error; @@ -505,6 +508,9 @@ void ril_request_deactivate_data_call(RIL_Token t, void *data, int length) if (data == NULL || length < (int) sizeof(char *)) goto error; + if (ril_radio_state_complete(RADIO_STATE_OFF, t)) + return; + cid = ((char **) data)[0]; gprs_connection = ril_gprs_connection_find_cid(atoi(cid)); @@ -897,6 +903,9 @@ void ril_request_last_data_call_fail_cause(RIL_Token t) int last_failed_cid; int fail_cause; + if (ril_radio_state_complete(RADIO_STATE_OFF, t)) + return; + last_failed_cid = ril_data.state.gprs_last_failed_cid; if (!last_failed_cid) { @@ -1059,5 +1068,8 @@ void ril_unsol_data_call_list_changed(void) void ril_request_data_call_list(RIL_Token t) { + if (ril_radio_state_complete(RADIO_STATE_OFF, t)) + return; + ipc_fmt_send_get(IPC_GPRS_PDP_CONTEXT, ril_request_get_id(t)); } |