summaryrefslogtreecommitdiff
path: root/src/device.c
diff options
context:
space:
mode:
authorAlok Barsode <alok.barsode@linux.intel.com>2011-10-06 14:00:38 +0300
committerSamuel Ortiz <sameo@linux.intel.com>2011-10-06 13:24:14 +0200
commitb0e29168ce7dd6f9e74546651d8568e3706c87d1 (patch)
treefd617ddba61b19a0519d1195836c7cf0c8840282 /src/device.c
parentc74a18264baee0163915a77f0b8c8308c077f5b1 (diff)
downloadconnman-b0e29168ce7dd6f9e74546651d8568e3706c87d1.tar.gz
connman-b0e29168ce7dd6f9e74546651d8568e3706c87d1.tar.bz2
connman-b0e29168ce7dd6f9e74546651d8568e3706c87d1.zip
device: Disconnect a connected network before disabling the device
When disabling a device, disconnect the device's connected network, if there are any. Fixes BCM#23165.
Diffstat (limited to 'src/device.c')
-rw-r--r--src/device.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/device.c b/src/device.c
index de7b141e..fedd5810 100644
--- a/src/device.c
+++ b/src/device.c
@@ -298,6 +298,9 @@ int __connman_device_disable(struct connman_device *device)
clear_scan_trigger(device);
+ if (device->network)
+ connman_network_set_connected(device->network, FALSE);
+
err = device->driver->disable(device);
if (err == 0) {
connman_device_set_powered(device, FALSE);