mirror of git://git.sysmocom.de/ofono
rilmodem: Use ril_util_build_deactivate_data_call
This commit is contained in:
parent
7172e5cc19
commit
45d59d04a9
|
@ -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);
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue