summaryrefslogtreecommitdiffstats
path: root/plugins/hfp.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/hfp.c')
-rw-r--r--plugins/hfp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/plugins/hfp.c b/plugins/hfp.c
index 5b2cdae9..0e2e3592 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);