Fix remove ops in isimodem drivers

This commit is contained in:
Aki Niemi 2010-04-27 15:10:55 +03:00
parent a03d11fec7
commit c123a9b5ba
8 changed files with 42 additions and 31 deletions

View File

@ -401,10 +401,12 @@ static void isi_call_barring_remove(struct ofono_call_barring *barr)
{
struct barr_data *data = ofono_call_barring_get_data(barr);
if (data) {
g_isi_client_destroy(data->client);
g_free(data);
}
if (!data)
return;
ofono_call_barring_set_data(barr, NULL);
g_isi_client_destroy(data->client);
g_free(data);
}
static struct ofono_call_barring_driver driver = {

View File

@ -557,10 +557,12 @@ static void isi_call_forwarding_remove(struct ofono_call_forwarding *cf)
{
struct forw_data *data = ofono_call_forwarding_get_data(cf);
if (data) {
g_isi_client_destroy(data->client);
g_free(data);
}
if (!data)
return;
ofono_call_forwarding_set_data(cf, NULL);
g_isi_client_destroy(data->client);
g_free(data);
}
static struct ofono_call_forwarding_driver driver = {

View File

@ -339,10 +339,12 @@ static void isi_call_settings_remove(struct ofono_call_settings *cs)
{
struct settings_data *data = ofono_call_settings_get_data(cs);
if (data) {
g_isi_client_destroy(data->client);
g_free(data);
}
if (!data)
return;
ofono_call_settings_set_data(cs, NULL);
g_isi_client_destroy(data->client);
g_free(data);
}
static struct ofono_call_settings_driver driver = {

View File

@ -122,14 +122,14 @@ static int isi_gprs_probe(struct ofono_gprs *gprs,
static void isi_gprs_remove(struct ofono_gprs *gprs)
{
struct gprs_data *gd = ofono_gprs_get_data(gprs);
struct gprs_data *data = ofono_gprs_get_data(gprs);
if (!data)
return;
ofono_gprs_set_data(gprs, NULL);
if (gd->client)
g_isi_client_destroy(gd->client);
g_free(gd);
g_isi_client_destroy(data->client);
g_free(data);
}
static bool attach_resp_cb(GIsiClient *client, const void *restrict data,

View File

@ -285,11 +285,10 @@ static void isi_modem_remove(struct ofono_modem *modem)
{
struct isi_data *isi = ofono_modem_get_data(modem);
DBG("(%p) with %s", modem, isi ? isi->ifname : NULL);
if (isi == NULL)
if (!isi)
return;
ofono_modem_set_data(modem, NULL);
g_isi_client_destroy(isi->client);
g_free(isi);
}

View File

@ -909,10 +909,12 @@ static void isi_netreg_remove(struct ofono_netreg *net)
{
struct netreg_data *data = ofono_netreg_get_data(net);
if (data) {
g_isi_client_destroy(data->client);
g_free(data);
}
if (!data)
return;
ofono_netreg_set_data(net, NULL);
g_isi_client_destroy(data->client);
g_free(data);
}
static struct ofono_netreg_driver driver = {

View File

@ -429,10 +429,12 @@ static void isi_sim_remove(struct ofono_sim *sim)
{
struct sim_data *data = ofono_sim_get_data(sim);
if (data) {
g_isi_client_destroy(data->client);
g_free(data);
}
if (!data)
return;
ofono_sim_set_data(sim, NULL);
g_isi_client_destroy(data->client);
g_free(data);
}
static struct ofono_sim_driver driver = {

View File

@ -302,9 +302,11 @@ static void isi_ussd_remove(struct ofono_ussd *ussd)
{
struct ussd_data *data = ofono_ussd_get_data(ussd);
if (data && data->client)
g_isi_client_destroy(data->client);
if (!data)
return;
ofono_ussd_set_data(ussd, NULL);
g_isi_client_destroy(data->client);
g_free(data);
}