summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTommi Kenakkala <tommi.kenakkala@tieto.com>2015-02-02 14:43:06 +0200
committerDenis Kenzior <denkenz@gmail.com>2015-02-02 09:28:34 -0600
commit04218d3a86cce8e0c1f93647819b019f1bb7111a (patch)
tree5c9b90cee010f0cf3674bacd39e2182b5e29a343 /src
parent41fadd3787862e4fb041585dffade1fc7a50ec55 (diff)
downloadofono-04218d3a86cce8e0c1f93647819b019f1bb7111a.tar.bz2
handsfree-audio: Refactor manager init / cleanup
Diffstat (limited to 'src')
-rw-r--r--src/handsfree-audio.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/handsfree-audio.c b/src/handsfree-audio.c
index 6f69fb3f..14f65dcb 100644
--- a/src/handsfree-audio.c
+++ b/src/handsfree-audio.c
@@ -845,6 +845,8 @@ void ofono_handsfree_audio_ref(void)
if (ref_count != 1)
return;
+ __ofono_handsfree_audio_manager_init();
+
if (!g_dbus_register_interface(ofono_dbus_get_connection(),
OFONO_MANAGER_PATH,
HFP_AUDIO_MANAGER_INTERFACE,
@@ -873,6 +875,8 @@ void ofono_handsfree_audio_unref(void)
agent_release(agent);
agent_free(agent);
}
+
+ __ofono_handsfree_audio_manager_cleanup();
}
int __ofono_handsfree_audio_manager_init(void)
@@ -882,15 +886,11 @@ int __ofono_handsfree_audio_manager_init(void)
void __ofono_handsfree_audio_manager_cleanup(void)
{
- if (ref_count == 0)
+ if (ref_count != 0)
return;
- ofono_error("Handsfree Audio manager not cleaned up properly,"
- "fixing...");
-
- ref_count = 1;
- ofono_handsfree_audio_unref();
-
- if (sco_watch > 0)
+ if (sco_watch > 0) {
g_source_remove(sco_watch);
+ sco_watch = 0;
+ }
}