[PATCH 2/3] hfp: Don't call UnregisterAgent if a Release was received

Gustavo F. Padovan padovan at profusion.mobi
Thu Feb 4 13:30:20 PST 2010


Prevent to call UnregisterAgent on an already unregistered agent.
---
 plugins/hfp.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/plugins/hfp.c b/plugins/hfp.c
index cd43af7..4202ddf 100644
--- a/plugins/hfp.c
+++ b/plugins/hfp.c
@@ -760,8 +760,11 @@ static int hfp_probe(struct ofono_modem *modem)
 static void hfp_remove(struct ofono_modem *modem)
 {
 	struct hfp_data *data = ofono_modem_get_data(modem);
+	const char *obj_path = ofono_modem_get_path(modem);
 
-	hfp_unregister_ofono_handsfree(modem);
+	if (g_dbus_unregister_interface(connection, obj_path,
+					HFP_AGENT_INTERFACE))
+		hfp_unregister_ofono_handsfree(modem);
 
 	g_hash_table_remove(uuid_hash, data->handsfree_path);
 
@@ -804,10 +807,14 @@ static int hfp_disconnect_ofono_handsfree(struct ofono_modem *modem)
 
 static int hfp_disable(struct ofono_modem *modem)
 {
+	const char *obj_path = ofono_modem_get_path(modem);
+
 	DBG("%p", modem);
 
 	clear_data(modem);
 
+	g_dbus_unregister_interface(connection, obj_path, HFP_AGENT_INTERFACE);
+
 	hfp_disconnect_ofono_handsfree(modem);
 	return 0;
 }
-- 
1.6.4.4



More information about the ofono mailing list