diff options
author | Paul Kocialkowski <contact@paulk.fr> | 2012-07-08 00:43:47 +0200 |
---|---|---|
committer | Paul Kocialkowski <contact@paulk.fr> | 2012-07-08 00:43:47 +0200 |
commit | 7fc060a1d6ba6e3fddcca3ffeccaf25c94de55f7 (patch) | |
tree | eb986b5285e4d6510f3c5d81f275bed016c41941 /samsung-ril.c | |
parent | 72a86665de9e8283539d6003dc1c64d16237d869 (diff) | |
download | hardware_replicant_libsamsung-ril-7fc060a1d6ba6e3fddcca3ffeccaf25c94de55f7.tar.gz hardware_replicant_libsamsung-ril-7fc060a1d6ba6e3fddcca3ffeccaf25c94de55f7.tar.bz2 hardware_replicant_libsamsung-ril-7fc060a1d6ba6e3fddcca3ffeccaf25c94de55f7.zip |
GPRS: Improved stability with status, fail cause and per-cid handling
* GPRS call status handling (state and fail cause)
* Last call fail cause reporting
* Data call list reporting
* Take GPRS call status in account before reporting connection change
* Per-cid GPRS connection handling
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'samsung-ril.c')
-rw-r--r-- | samsung-ril.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/samsung-ril.c b/samsung-ril.c index 7f669b5..cfd7f20 100644 --- a/samsung-ril.c +++ b/samsung-ril.c @@ -268,6 +268,12 @@ void ipc_fmt_dispatch(struct ipc_message_info *info) case IPC_GPRS_IP_CONFIGURATION: ipc_gprs_ip_configuration(info); break; + case IPC_GPRS_CALL_STATUS: + ipc_gprs_call_status(info); + break; + case IPC_GPRS_PDP_CONTEXT: + ipc_gprs_pdp_context(info); + break; default: LOGD("Unhandled command: %s (%04x)", ipc_command_to_str(IPC_COMMAND(info)), IPC_COMMAND(info)); break; @@ -462,6 +468,12 @@ void onRequest(int request, void *data, size_t datalen, RIL_Token t) case RIL_REQUEST_DEACTIVATE_DATA_CALL: ril_request_deactivate_data_call(t, data, datalen); break; + case RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE: + ril_request_last_data_call_fail_cause(t); + break; + case RIL_REQUEST_DATA_CALL_LIST: + ril_request_data_call_list(t); + break; /* SND */ case RIL_REQUEST_SET_MUTE: ril_request_set_mute(t, data, datalen); @@ -516,6 +528,7 @@ void ril_globals_init(void) ril_requests_tokens_init(); ipc_gen_phone_res_expects_init(); + ril_gprs_connections_init(); ril_request_sms_init(); ipc_sms_tpid_queue_init(); } @@ -542,9 +555,6 @@ const RIL_RadioFunctions *RIL_Init(const struct RIL_Env *env, int argc, char **a ril_env = env; - ril_globals_init(); - ril_state_lpm(); - ipc_fmt: LOGD("Creating IPC FMT client"); @@ -606,6 +616,9 @@ srs: LOGD("SRS client ready"); end: + ril_globals_init(); + ril_state_lpm(); + return &ril_ops; } |