summaryrefslogtreecommitdiffstats
path: root/audio/manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'audio/manager.c')
-rw-r--r--audio/manager.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/audio/manager.c b/audio/manager.c
index fd0e6f62..2e48654a 100644
--- a/audio/manager.c
+++ b/audio/manager.c
@@ -982,10 +982,17 @@ proceed:
void audio_manager_exit(void)
{
+ /* Bail out early if we haven't been initialized */
+ if (connection == NULL)
+ return;
+
dbus_connection_unref(connection);
+ connection = NULL;
- if (config)
+ if (config) {
g_key_file_free(config);
+ config = NULL;
+ }
if (enabled.headset) {
btd_unregister_adapter_driver(&headset_server_driver);
@@ -1002,8 +1009,6 @@ void audio_manager_exit(void)
btd_unregister_adapter_driver(&avrcp_server_driver);
btd_unregister_device_driver(&audio_driver);
-
- connection = NULL;
}
struct audio_device *manager_find_device(const bdaddr_t *bda, const char *interface,