summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-12-28 10:06:38 +0100
committerMarcel Holtmann <marcel@holtmann.org>2008-12-28 10:06:38 +0100
commitc93def76c9179707bf020ec023fa010ec706984c (patch)
tree841722571c7edfed03c7b565ab27bb54c5297ce7 /src
parenta9a626186bf087a4ecf36ca31c473c13df34572d (diff)
downloadconnman-c93def76c9179707bf020ec023fa010ec706984c.tar.gz
connman-c93def76c9179707bf020ec023fa010ec706984c.tar.bz2
connman-c93def76c9179707bf020ec023fa010ec706984c.zip
Remove networks when device gets disabled
Diffstat (limited to 'src')
-rw-r--r--src/device.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/device.c b/src/device.c
index 590b9557..e92798e1 100644
--- a/src/device.c
+++ b/src/device.c
@@ -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);
}