From 10bdc91dc606042ebb323f3017e5778274609275 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Thu, 14 May 2009 23:48:44 -0700 Subject: [PATCH] Make sure to disconnect network on removal --- src/service.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/service.c b/src/service.c index 88b131a..7809918 100644 --- a/src/service.c +++ b/src/service.c @@ -379,8 +379,13 @@ static DBusMessage *disconnect_service(DBusConnection *conn, } if (service->network != NULL) { + struct connman_device *device; int err; + device = connman_network_get_device(service->network); + if (device != NULL) + __connman_device_disconnect(device); + err = __connman_network_disconnect(service->network); if (err < 0 && err != -EINPROGRESS) return __connman_error_failed(msg, -err); @@ -413,8 +418,13 @@ static DBusMessage *remove_service(DBusConnection *conn, return __connman_error_not_supported(msg); if (service->network != NULL) { + struct connman_device *device; int err; + device = connman_network_get_device(service->network); + if (device != NULL) + __connman_device_disconnect(device); + err = __connman_network_disconnect(service->network); if (err < 0 && err != -EINPROGRESS) return __connman_error_failed(msg, -err); -- 1.7.9.5