From 45d59d04a9d046ec9901f1c91aa4ffda7f41e050 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Fri, 20 Nov 2015 22:45:47 -0600 Subject: rilmodem: Use ril_util_build_deactivate_data_call --- drivers/rilmodem/gprs-context.c | 56 +++++++++++++---------------------------- drivers/rilmodem/gprs.c | 16 ++++-------- 2 files changed, 23 insertions(+), 49 deletions(-) (limited to 'drivers') diff --git a/drivers/rilmodem/gprs-context.c b/drivers/rilmodem/gprs-context.c index 20215335..0347ece0 100644 --- a/drivers/rilmodem/gprs-context.c +++ b/drivers/rilmodem/gprs-context.c @@ -341,9 +341,7 @@ static gboolean retry_deactivate(gpointer user_data) ofono_gprs_context_cb_t cb = cbd->cb; struct ofono_gprs_context *gc = cbd->user; struct gprs_context_data *gcd = ofono_gprs_context_get_data(gc); - struct req_deactivate_data_call request; struct parcel rilp; - struct ofono_error error; gcd->retry_ev_id = 0; @@ -357,14 +355,12 @@ static gboolean retry_deactivate(gpointer user_data) return FALSE; } - request.cid = gcd->active_rild_cid; - request.reason = RIL_DEACTIVATE_DATA_CALL_NO_REASON; - - g_ril_request_deactivate_data_call(gcd->ril, &request, &rilp, &error); + ril_util_build_deactivate_data_call(gcd->ril, &rilp, + gcd->active_rild_cid, + RIL_DEACTIVATE_DATA_CALL_NO_REASON); if (g_ril_send(gcd->ril, RIL_REQUEST_DEACTIVATE_DATA_CALL, &rilp, ril_deactivate_data_call_cb, cbd, g_free) == 0) { - ofono_error("%s: send DEACTIVATE_DATA_CALL failed for apn: %s", __func__, gcd->apn); if (cb) @@ -388,7 +384,6 @@ static void ril_deactivate_data_call_cb(struct ril_msg *message, DBG("*gc: %p", gc); if (message->error == RIL_E_SUCCESS) { - g_ril_print_response_no_args(gcd->ril, message); active_ctx_cid = gcd->active_ctx_cid; @@ -444,9 +439,6 @@ static void ril_gprs_context_deactivate_primary(struct ofono_gprs_context *gc, struct gprs_context_data *gcd = ofono_gprs_context_get_data(gc); struct cb_data *cbd = NULL; struct parcel rilp; - struct req_deactivate_data_call request; - struct ofono_error error; - int ret = 0; DBG("*gc: %p cid: %d active_rild_cid: %d", gc, id, gcd->active_rild_cid); @@ -471,32 +463,23 @@ static void ril_gprs_context_deactivate_primary(struct ofono_gprs_context *gc, __func__, gcd->apn); } - request.cid = gcd->active_rild_cid; - request.reason = RIL_DEACTIVATE_DATA_CALL_NO_REASON; - - if (g_ril_request_deactivate_data_call(gcd->ril, &request, - &rilp, &error) == FALSE) { - - ofono_error("%s: couldn't build DEACTIVATE_DATA_CALL" - " request for apn: %s.", - __func__, gcd->apn); - goto error; - } - gcd->deact_retries = NUM_DEACTIVATION_RETRIES; - ret = g_ril_send(gcd->ril, RIL_REQUEST_DEACTIVATE_DATA_CALL, &rilp, - ril_deactivate_data_call_cb, cbd, g_free); + ril_util_build_deactivate_data_call(gcd->ril, &rilp, + gcd->active_rild_cid, + RIL_DEACTIVATE_DATA_CALL_NO_REASON); -error: - if (ret == 0) { - /* TODO: should we force state to disconnected here? */ + if (g_ril_send(gcd->ril, RIL_REQUEST_DEACTIVATE_DATA_CALL, &rilp, + ril_deactivate_data_call_cb, cbd, g_free) > 0) + return; - ofono_error("%s: send DEACTIVATE_DATA_CALL failed for apn: %s", + /* TODO: should we force state to disconnected here? */ + ofono_error("%s: send DEACTIVATE_DATA_CALL failed for apn: %s", __func__, gcd->apn); - g_free(cbd); - if (cb) + + if (cb) CALLBACK_WITH_FAILURE(cb, data); - } + + g_free(cbd); } static void ril_gprs_context_detach_shutdown(struct ofono_gprs_context *gc, @@ -538,14 +521,11 @@ static void ril_gprs_context_remove(struct ofono_gprs_context *gc) DBG("*gc: %p", gc); if (gcd->state != STATE_IDLE && gcd->state != STATE_DISABLING) { - struct req_deactivate_data_call request; struct parcel rilp; - struct ofono_error error; - request.cid = gcd->active_rild_cid; - request.reason = RIL_DEACTIVATE_DATA_CALL_NO_REASON; - g_ril_request_deactivate_data_call(gcd->ril, &request, - &rilp, &error); + ril_util_build_deactivate_data_call(gcd->ril, &rilp, + gcd->active_rild_cid, + RIL_DEACTIVATE_DATA_CALL_NO_REASON); g_ril_send(gcd->ril, RIL_REQUEST_DEACTIVATE_DATA_CALL, &rilp, NULL, NULL, NULL); diff --git a/drivers/rilmodem/gprs.c b/drivers/rilmodem/gprs.c index 510e2bd3..77cf56d5 100644 --- a/drivers/rilmodem/gprs.c +++ b/drivers/rilmodem/gprs.c @@ -335,22 +335,16 @@ static void drop_data_call_cb(struct ril_msg *message, gpointer user_data) static int drop_data_call(struct ofono_gprs *gprs, int cid) { struct ril_gprs_data *gd = ofono_gprs_get_data(gprs); - struct req_deactivate_data_call request; struct parcel rilp; - struct ofono_error error; - request.cid = cid; - request.reason = RIL_DEACTIVATE_DATA_CALL_NO_REASON; - - g_ril_request_deactivate_data_call(gd->ril, &request, &rilp, &error); + ril_util_build_deactivate_data_call(gd->ril, &rilp, cid, + RIL_DEACTIVATE_DATA_CALL_NO_REASON); if (g_ril_send(gd->ril, RIL_REQUEST_DEACTIVATE_DATA_CALL, - &rilp, drop_data_call_cb, gprs, NULL) == 0) { - ofono_error("%s: send failed", __func__); - return -1; - } + &rilp, drop_data_call_cb, gprs, NULL) > 0) + return 0; - return 0; + return -1; } static void get_active_data_calls_cb(struct ril_msg *message, -- cgit v1.2.3