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

Gustavo F. Padovan padovan at profusion.mobi
Fri Feb 5 10:47:05 PST 2010


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

diff --git a/plugins/hfp.c b/plugins/hfp.c
index 3e41342..46217c5 100644
--- a/plugins/hfp.c
+++ b/plugins/hfp.c
@@ -411,6 +411,9 @@ static DBusMessage *hfp_agent_release(DBusConnection *conn,
 					DBusMessage *msg, void *data)
 {
 	struct ofono_modem *modem = data;
+	const char *obj_path = ofono_modem_get_path(modem);
+
+	g_dbus_unregister_interface(connection, obj_path, HFP_AGENT_INTERFACE);
 
 	ofono_modem_remove(modem);
 
@@ -757,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);
 
-- 
1.6.4.4



More information about the ofono mailing list