---
drivers/mbmmodem/location-reporting.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/drivers/mbmmodem/location-reporting.c
b/drivers/mbmmodem/location-reporting.c
index b671d71..24ff4b8 100644
--- a/drivers/mbmmodem/location-reporting.c
+++ b/drivers/mbmmodem/location-reporting.c
@@ -71,6 +71,7 @@ static void mbm_e2gpsctl_disable_cb(gboolean ok, GAtResult
*result,
}
g_io_channel_unref(gd->data_channel);
+ gd->data_channel = NULL;
CALLBACK_WITH_SUCCESS(cb, cbd->data);
}
@@ -116,6 +117,7 @@ static GAtChat *mbm_create_data_chat(struct
ofono_location_reporting *lr)
if (chat == NULL) {
g_io_channel_unref(gd->data_channel);
+ gd->data_channel = NULL;
return NULL;
}
@@ -158,6 +160,7 @@ static void mbm_e2gpsctl_enable_cb(gboolean ok, GAtResult
*result,
g_at_chat_unref(chat);
g_io_channel_unref(gd->data_channel);
+ gd->data_channel = NULL;
out:
CALLBACK_WITH_FAILURE(cb, -1, cbd->data);
@@ -225,6 +228,9 @@ static void mbm_location_reporting_remove(struct
ofono_location_reporting *lr)
{
struct gps_data *gd = ofono_location_reporting_get_data(lr);
+ if (gd->data_channel != NULL)
+ g_io_channel_unref(gd->data_channel);
+
ofono_location_reporting_set_data(lr, NULL);
g_at_chat_unref(gd->chat);
--
1.7.4.1
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono