[PATCH] Handle the error path from service_level_connection

Gustavo F. Padovan padovan at profusion.mobi
Thu Jan 28 09:12:52 PST 2010


---
 plugins/hfp.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/plugins/hfp.c b/plugins/hfp.c
index 5b2cdae..0e2e359 100644
--- a/plugins/hfp.c
+++ b/plugins/hfp.c
@@ -367,7 +367,7 @@ static int service_level_connection(struct ofono_modem *modem, int fd)
 static DBusMessage *hfp_agent_new_connection(DBusConnection *conn,
 						DBusMessage *msg, void *data)
 {
-	int fd;
+	int fd, err;
 	struct ofono_modem *modem = data;
 	struct hfp_data *hfp_data = ofono_modem_get_data(modem);
 
@@ -375,7 +375,9 @@ static DBusMessage *hfp_agent_new_connection(DBusConnection *conn,
 				DBUS_TYPE_INVALID))
 		return __ofono_error_invalid_args(msg);
 
-	service_level_connection(modem, fd);
+	err = service_level_connection(modem, fd);
+	if (err < 0 && err != -EINPROGRESS)
+		return __ofono_error_failed(msg);
 
 	hfp_data->slc_msg = msg;
 	dbus_message_ref(msg);
-- 
1.6.4.4



More information about the ofono mailing list