diff --git a/health/hdp.c b/health/hdp.c
index 7a4b219..7fed483 100644
--- a/health/hdp.c
+++ b/health/hdp.c
}
fd = mcap_mdl_get_fd(dc_data->hdp_chann->mdl);
- if (fd < 0)
+ if (fd < 0) {
reply = g_dbus_create_error(dc_data->msg,
ERROR_INTERFACE ".HealthError",
"Cannot get file descriptor");
- else
- reply = g_dbus_create_reply(dc_data->msg, DBUS_TYPE_UNIX_FD,
+ g_dbus_send_message(dc_data->conn, reply);
+ return;
+ }
+
+ reply = g_dbus_create_reply(dc_data->msg, DBUS_TYPE_UNIX_FD,
&fd, DBUS_TYPE_INVALID);
g_dbus_send_message(dc_data->conn, reply);
+
+ g_dbus_emit_signal(dc_data->conn,
+ device_get_path(dc_data->hdp_chann->dev->dev),
+ HEALTH_DEVICE, "ChannelConnected",
+ DBUS_TYPE_OBJECT_PATH, &dc_data->hdp_chann->path,
+ DBUS_TYPE_INVALID);
}
static void hdp_get_dcpsm_cb(uint16_t dcpsm, gpointer user_data, GError *err)