Remove networks when device gets disabled
authorMarcel Holtmann <marcel@holtmann.org>
Sun, 28 Dec 2008 09:06:38 +0000 (10:06 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Sun, 28 Dec 2008 09:06:38 +0000 (10:06 +0100)
src/device.c

index 590b955..e92798e 100644 (file)
@@ -127,6 +127,8 @@ static int set_powered(struct connman_device *device, gboolean powered)
                else
                        err = -EINVAL;
        } else {
+               g_hash_table_remove_all(device->networks);
+
                if (driver->disable)
                        err = driver->disable(device);
                else
@@ -942,6 +944,8 @@ static void device_disable(struct connman_device *device)
        if (device->powered == FALSE)
                return;
 
+       g_hash_table_remove_all(device->networks);
+
        if (device->driver->disable)
                device->driver->disable(device);
 }