summaryrefslogtreecommitdiff
path: root/src/adapter.c
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.dentz@openbossa.org>2009-04-27 18:05:53 -0300
committerLuiz Augusto von Dentz <luiz.dentz@openbossa.org>2009-04-28 14:01:50 -0300
commitc343fb7a67e025a1c8388b7a0c2ba36dd8fdfcdd (patch)
tree2c09b4bc6ec0dd774e30011386e990b9ece726a7 /src/adapter.c
parent7e06679b800793776e909ead504883187ff8c671 (diff)
downloadbluez-c343fb7a67e025a1c8388b7a0c2ba36dd8fdfcdd.tar.gz
Make sure device are unloaded before drivers when removing an adapter.
Devices drivers, such as a2dp driver, may depend on adapter drivers to exit properly.
Diffstat (limited to 'src/adapter.c')
-rw-r--r--src/adapter.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/adapter.c b/src/adapter.c
index 8278b39a0..afa1d4ded 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -2457,12 +2457,12 @@ void adapter_remove(struct btd_adapter *adapter)
debug("Removing adapter %s", path);
- unload_drivers(adapter);
-
for (l = adapter->devices; l; l = l->next)
device_remove(l->data, connection, FALSE);
g_slist_free(adapter->devices);
+ unload_drivers(adapter);
+
/* Return adapter to down state if it was not up on init */
if (adapter->up && !adapter->already_up) {
int dd = hci_open_dev(adapter->dev_id);