struct ofono_audio_settings *as = data;
struct audio_settings_data *asd = ofono_audio_settings_get_data(as);
- if (g_isi_msg_error(msg) < 0)
+ if (g_isi_msg_error(msg) < 0) {
+ ofono_audio_settings_remove(as);
return;
+ }
ISI_VERSION_DBG(msg);
{
struct ofono_call_barring *barr = data;
- if (g_isi_msg_error(msg) < 0)
+ if (g_isi_msg_error(msg) < 0) {
+ ofono_call_barring_remove(barr);
return;
+ }
ISI_VERSION_DBG(msg);
{
struct ofono_call_forwarding *cf = data;
- if (g_isi_msg_error(msg) < 0)
+ if (g_isi_msg_error(msg) < 0) {
+ ofono_call_forwarding_remove(cf);
return;
+ }
ISI_VERSION_DBG(msg);
{
struct ofono_call_settings *cs = data;
- if (g_isi_msg_error(msg) < 0)
+ if (g_isi_msg_error(msg) < 0) {
+ ofono_call_settings_remove(cs);
return;
+ }
ISI_VERSION_DBG(msg);
struct ofono_cbs *cbs = data;
struct cbs_data *cd = ofono_cbs_get_data(cbs);
- if (cd == NULL || !check_response_status(msg, SMS_GSM_CB_ROUTING_RESP))
+ if (cd == NULL ||
+ !check_response_status(msg, SMS_GSM_CB_ROUTING_RESP)) {
+ ofono_cbs_remove(cbs);
return;
+ }
g_isi_client_ntf_subscribe(cd->client, SMS_GSM_CB_ROUTING_NTF,
routing_ntf_cb, cbs);
{
struct ofono_devinfo *info = data;
- if (g_isi_msg_error(msg) < 0)
+ if (g_isi_msg_error(msg) < 0) {
+ ofono_devinfo_remove(info);
return;
+ }
ISI_VERSION_DBG(msg);
static void gpds_ctx_reachable_cb(const GIsiMessage *msg, void *opaque)
{
- struct context_data *cd = opaque;
+ struct ofono_gprs_context *gc = opaque;
+ struct context_data *cd = ofono_gprs_context_get_data(gc);
if (g_isi_msg_error(msg) < 0) {
DBG("unable to bootstrap gprs context driver");
+ ofono_gprs_context_remove(gc);
return;
}
cd->context = gc;
ofono_gprs_context_set_data(gc, cd);
- g_isi_client_verify(cd->client, gpds_ctx_reachable_cb, cd, NULL);
+ g_isi_client_verify(cd->client, gpds_ctx_reachable_cb, gc, NULL);
return 0;
}
if (g_isi_msg_error(msg) < 0) {
DBG("unable to bootstrap gprs driver");
+ ofono_gprs_remove(gprs);
return;
}
struct ofono_netreg *netreg = data;
struct netreg_data *nd = ofono_netreg_get_data(netreg);
- if (g_isi_msg_error(msg) < 0)
+ if (g_isi_msg_error(msg) < 0) {
+ ofono_netreg_remove(netreg);
return;
+ }
ISI_VERSION_DBG(msg);
- if (nd == NULL)
- return;
-
nd->version.major = g_isi_msg_version_major(msg);
nd->version.minor = g_isi_msg_version_minor(msg);
{
struct ofono_phonebook *pb = data;
- if (g_isi_msg_error(msg) < 0)
+ if (g_isi_msg_error(msg) < 0) {
+ ofono_phonebook_remove(pb);
return;
+ }
ISI_VERSION_DBG(msg);
{
struct ofono_radio_settings *rs = opaque;
- if (g_isi_msg_error(msg) < 0)
+ if (g_isi_msg_error(msg) < 0) {
+ ofono_radio_settings_remove(rs);
return;
+ }
ISI_VERSION_DBG(msg);
if (g_isi_msg_error(msg) < 0) {
DBG("PN_SIM: %s", strerror(-g_isi_msg_error(msg)));
+ ofono_sim_remove(sim);
return;
}
struct ofono_sms *sms = data;
struct sms_data *sd = ofono_sms_get_data(sms);
- if (!check_sms_status(msg, SMS_PP_ROUTING_RESP))
+ if (!check_sms_status(msg, SMS_PP_ROUTING_RESP)) {
+ ofono_sms_remove(sms);
return;
+ }
g_isi_client_ntf_subscribe(sd->client, SMS_PP_ROUTING_NTF,
routing_ntf_cb, sms);
if (g_isi_msg_error(msg) < 0) {
DBG("unable to find SMS resource");
+ ofono_sms_remove(sms);
return;
}
struct ofono_ussd *ussd = data;
struct ussd_data *ud = ofono_ussd_get_data(ussd);
- if (g_isi_msg_error(msg) < 0)
+ if (g_isi_msg_error(msg) < 0) {
+ ofono_ussd_remove(ussd);
return;
+ }
ISI_VERSION_DBG(msg);
struct ofono_voicecall *ovc = data;
struct isi_voicecall *ivc = ofono_voicecall_get_data(ovc);
- if (g_isi_msg_error(msg) < 0)
+ if (g_isi_msg_error(msg) < 0) {
+ ofono_voicecall_remove(ovc);
return;
+ }
ISI_VERSION_DBG(msg);