Thread (2 messages) flat view 2 messages, 1 author, 2011-03-18
DORMANTno replies

[PATCH] Fix adapter drivers unload order

From: Dmitriy Paliy <hidden>
Date: 2011-03-18 14:18:50
Subsystem: the rest · Maintainer: Linus Torvalds

Order of unloading drivers shell be preserved as given in
audio_manager_exit. It was reverted in 'c772636 Fix unloading of adapter
drivers', which causes in turn bluetoothd crash on exit.

Removing of media end-point results in removing of A2DP end-point for
the corresponding A2DP server but not vice versa. Therefore, unregistering
and destroying A2DP server, which clears all A2DP end-points, before media
server is incorrect.
---
 src/adapter.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/adapter.c b/src/adapter.c
index cc4f43e..3455237 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -2494,6 +2494,7 @@ static void remove_driver(gpointer data, gpointer user_data)
 
 static void unload_drivers(struct btd_adapter *adapter)
 {
+	adapter->loaded_drivers = g_slist_reverse(adapter->loaded_drivers);
 	g_slist_foreach(adapter->loaded_drivers, remove_driver, adapter);
 	g_slist_free(adapter->loaded_drivers);
 	adapter->loaded_drivers = NULL;
-- 
1.7.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help