summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2015-11-20 22:45:47 -0600
committerDenis Kenzior <denkenz@gmail.com>2015-11-20 22:51:44 -0600
commit45d59d04a9d046ec9901f1c91aa4ffda7f41e050 (patch)
treed5cff59868f980020987bd2894323b1fa7409dfa /drivers
parent7172e5cc198a3ecf9b44533cf4bf74b31a725492 (diff)
downloadofono-45d59d04a9d046ec9901f1c91aa4ffda7f41e050.tar.bz2
rilmodem: Use ril_util_build_deactivate_data_call
Diffstat (limited to 'drivers')
-rw-r--r--drivers/rilmodem/gprs-context.c56
-rw-r--r--drivers/rilmodem/gprs.c16
2 files changed, 23 insertions, 49 deletions
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,