diff options
author | Aki Niemi <aki.niemi@nokia.com> | 2010-10-19 11:28:06 +0300 |
---|---|---|
committer | Aki Niemi <aki.niemi@nokia.com> | 2010-10-19 15:06:35 +0300 |
commit | 255782f8c2ff64991b362fb0e0554bd2adb7069e (patch) | |
tree | 86d891e0259255cc78f6344da69bbb33ad5a7b0c /drivers/isimodem/phonebook.c | |
parent | fd74feac0d7c5bbba4653b0b5c43c458c6874971 (diff) | |
download | ofono-255782f8c2ff64991b362fb0e0554bd2adb7069e.tar.bz2 |
isimodem: Fix request cleanup code
Adds a check for when the driver is being removed, in which case no
new ISI requests should be generated.
Diffstat (limited to 'drivers/isimodem/phonebook.c')
-rw-r--r-- | drivers/isimodem/phonebook.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/isimodem/phonebook.c b/drivers/isimodem/phonebook.c index 1041070e..dc832c44 100644 --- a/drivers/isimodem/phonebook.c +++ b/drivers/isimodem/phonebook.c @@ -259,7 +259,7 @@ static void isi_export_entries(struct ofono_phonebook *pb, const char *storage, 0, 0 /* filler */ }; - if (!cbd) + if (!cbd || !pbd) goto error; if (strcmp(storage, "SM")) @@ -335,10 +335,12 @@ static void isi_phonebook_remove(struct ofono_phonebook *pb) { struct pb_data *data = ofono_phonebook_get_data(pb); - if (data) { - g_isi_client_destroy(data->client); - g_free(data); - } + if (!data) + return; + + ofono_phonebook_set_data(pb, NULL); + g_isi_client_destroy(data->client); + g_free(data); } static struct ofono_phonebook_driver driver = { |