summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/isimodem/call-barring.c10
-rw-r--r--drivers/isimodem/call-forwarding.c10
-rw-r--r--drivers/isimodem/call-settings.c10
-rw-r--r--drivers/isimodem/gprs.c12
-rw-r--r--drivers/isimodem/isimodem.c5
-rw-r--r--drivers/isimodem/network-registration.c10
-rw-r--r--drivers/isimodem/sim.c10
-rw-r--r--drivers/isimodem/ussd.c6
8 files changed, 42 insertions, 31 deletions
diff --git a/drivers/isimodem/call-barring.c b/drivers/isimodem/call-barring.c
index 2fa2be96..cf6a0e04 100644
--- a/drivers/isimodem/call-barring.c
+++ b/drivers/isimodem/call-barring.c
@@ -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 = {
diff --git a/drivers/isimodem/call-forwarding.c b/drivers/isimodem/call-forwarding.c
index efa9bfec..61d3cfa0 100644
--- a/drivers/isimodem/call-forwarding.c
+++ b/drivers/isimodem/call-forwarding.c
@@ -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 = {
diff --git a/drivers/isimodem/call-settings.c b/drivers/isimodem/call-settings.c
index 47385aee..651d0ec9 100644
--- a/drivers/isimodem/call-settings.c
+++ b/drivers/isimodem/call-settings.c
@@ -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 = {
diff --git a/drivers/isimodem/gprs.c b/drivers/isimodem/gprs.c
index 47e9f256..435f656d 100644
--- a/drivers/isimodem/gprs.c
+++ b/drivers/isimodem/gprs.c
@@ -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);
-
- ofono_gprs_set_data(gprs, NULL);
+ struct gprs_data *data = ofono_gprs_get_data(gprs);
- if (gd->client)
- g_isi_client_destroy(gd->client);
+ if (!data)
+ return;
- g_free(gd);
+ ofono_gprs_set_data(gprs, NULL);
+ g_isi_client_destroy(data->client);
+ g_free(data);
}
static bool attach_resp_cb(GIsiClient *client, const void *restrict data,
diff --git a/drivers/isimodem/isimodem.c b/drivers/isimodem/isimodem.c
index dfc9b0b8..d60bb919 100644
--- a/drivers/isimodem/isimodem.c
+++ b/drivers/isimodem/isimodem.c
@@ -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);
}
diff --git a/drivers/isimodem/network-registration.c b/drivers/isimodem/network-registration.c
index cc3e4e02..dfd7acc5 100644
--- a/drivers/isimodem/network-registration.c
+++ b/drivers/isimodem/network-registration.c
@@ -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 = {
diff --git a/drivers/isimodem/sim.c b/drivers/isimodem/sim.c
index 2c1e5c64..6cf73d25 100644
--- a/drivers/isimodem/sim.c
+++ b/drivers/isimodem/sim.c
@@ -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 = {
diff --git a/drivers/isimodem/ussd.c b/drivers/isimodem/ussd.c
index 3180844d..a8bbace1 100644
--- a/drivers/isimodem/ussd.c
+++ b/drivers/isimodem/ussd.c
@@ -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);
}