diff --git a/src/adapter.c b/src/adapter.c
index dffb8bc..56d0c6e 100644
--- a/src/adapter.c
+++ b/src/adapter.c
static void discovery_free(void *user_data)
{
struct discovery_client *client = user_data;
+ struct btd_adapter *adapter = client->adapter;
DBG("%p", client);
client->discovery_filter = NULL;
}
- if (client->msg)
+ if (client->msg) {
+ if (client == adapter->client) {
+ g_dbus_send_message(dbus_conn,
+ btd_error_busy(client->msg));
+ adapter->client = NULL;
+ }
dbus_message_unref(client->msg);
+ }
g_free(client->owner);
g_free(client);