diff options
author | Tommi Kenakkala <tommi.kenakkala@tieto.com> | 2015-02-02 14:43:06 +0200 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2015-02-02 09:28:34 -0600 |
commit | 04218d3a86cce8e0c1f93647819b019f1bb7111a (patch) | |
tree | 5c9b90cee010f0cf3674bacd39e2182b5e29a343 /src | |
parent | 41fadd3787862e4fb041585dffade1fc7a50ec55 (diff) | |
download | ofono-04218d3a86cce8e0c1f93647819b019f1bb7111a.tar.bz2 |
handsfree-audio: Refactor manager init / cleanup
Diffstat (limited to 'src')
-rw-r--r-- | src/handsfree-audio.c | 16 |
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; + } } |