diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/rilmodem/ussd.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/rilmodem/ussd.c b/drivers/rilmodem/ussd.c index 746acac7..e8d9bb94 100644 --- a/drivers/rilmodem/ussd.c +++ b/drivers/rilmodem/ussd.c @@ -153,15 +153,13 @@ static void ril_ussd_cancel(struct ofono_ussd *ussd, { struct ussd_data *ud = ofono_ussd_get_data(ussd); struct cb_data *cbd = cb_data_new(cb, user_data, ussd); - int ret; - ret = g_ril_send(ud->ril, RIL_REQUEST_CANCEL_USSD, NULL, - ril_ussd_cancel_cb, cbd, g_free); + if (g_ril_send(ud->ril, RIL_REQUEST_CANCEL_USSD, NULL, + ril_ussd_cancel_cb, cbd, g_free) > 0) + return; - if (ret <= 0) { - g_free(cbd); - CALLBACK_WITH_FAILURE(cb, user_data); - } + g_free(cbd); + CALLBACK_WITH_FAILURE(cb, user_data); } static void ril_ussd_notify(struct ril_msg *message, gpointer user_data) |