---
 dundee/device.c |   14 +++++++++++---
 dundee/dundee.h |    3 +++
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/dundee/device.c b/dundee/device.c
index e5f6424..2d84aaa 100644
--- a/dundee/device.c
+++ b/dundee/device.c
@@ -270,11 +270,13 @@ err:
        device->pending = NULL;
 }
 
-static void disconnect_callback(const struct dundee_error *error, void *data)
+void dundee_device_disconnect(const struct dundee_error *error,
+                                               struct dundee_device *device)
 {
-       struct dundee_device *device = data;
+       if (device == NULL)
+               return;
 
-       DBG("%p", device);
+       DBG("%s", device->path);
 
        g_at_chat_unref(device->chat);
        device->chat = NULL;
@@ -295,6 +297,12 @@ out:
        device->pending = NULL;
 }
 
+static void disconnect_callback(const struct dundee_error *error, void *data)
+{
+       struct dundee_device *device = data;
+       dundee_device_disconnect(error, device);
+}
+
 static gboolean ppp_connect_timeout(gpointer user_data)
 {
        struct dundee_device *device = user_data;
diff --git a/dundee/dundee.h b/dundee/dundee.h
index daf78a5..1889d84 100644
--- a/dundee/dundee.h
+++ b/dundee/dundee.h
@@ -130,6 +130,9 @@ struct dundee_device *dundee_device_create(struct 
dundee_device_driver *d);
 int dundee_device_register(struct dundee_device *device);
 void dundee_device_unregister(struct dundee_device *device);
 
+void dundee_device_disconnect(const struct dundee_error *error,
+                                               struct dundee_device *device);
+
 void dundee_device_set_data(struct dundee_device *device, void *data);
 void *dundee_device_get_data(struct dundee_device *device);
 
-- 
1.7.9.5

_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to