diff --git a/src/event.c b/src/event.c
index 00119d3..29931a3 100644
--- a/src/event.c
+++ b/src/event.c
return 0;
}
-void btd_event_disconn_complete(bdaddr_t *local, bdaddr_t *peer)
-{
- struct btd_adapter *adapter;
- struct btd_device *device;
-
- DBG("");
-
- if (!get_adapter_and_device(local, peer, &adapter, &device, FALSE))
- return;
-
- if (!device)
- return;
-
- adapter_remove_connection(adapter, device);
-}
-
void btd_event_device_blocked(bdaddr_t *local, bdaddr_t *peer)
{
struct btd_adapter *adapter;
diff --git a/src/event.h b/src/event.h
index f98669c..ddaa24e 100644
--- a/src/event.h
+++ b/src/event.h
void btd_event_remote_name(const bdaddr_t *local, bdaddr_t *peer,
const char *name);
-void btd_event_disconn_complete(bdaddr_t *local, bdaddr_t *peer);
void btd_event_returned_link_key(bdaddr_t *local, bdaddr_t *peer);
void btd_event_device_blocked(bdaddr_t *local, bdaddr_t *peer);
void btd_event_device_unblocked(bdaddr_t *local, bdaddr_t *peer);
diff --git a/src/mgmt.c b/src/mgmt.c
index ff33335..c32e756 100644
--- a/src/mgmt.c
+++ b/src/mgmt.c
{
struct mgmt_ev_device_disconnected *ev = buf;
struct controller_info *info;
+ struct btd_adapter *adapter;
+ struct btd_device *device;
char addr[18];
uint8_t reason;
info = &controllers[index];
- btd_event_disconn_complete(&info->bdaddr, &ev->addr.bdaddr);
+ if (!get_adapter_and_device(&info->bdaddr, &ev->addr.bdaddr,
+ &adapter, &device, false))
+ return;
+
+ if (device)
+ adapter_remove_connection(adapter, device);
}
static void mgmt_connect_failed(int sk, uint16_t index, void *buf, size_t len)
{
struct mgmt_rp_disconnect *rp = buf;
struct controller_info *info;
+ struct btd_adapter *adapter;
+ struct btd_device *device;
char addr[18];
if (len < sizeof(*rp)) {
info = &controllers[index];
- btd_event_disconn_complete(&info->bdaddr, &rp->addr.bdaddr);
+ if (!get_adapter_and_device(&info->bdaddr, &rp->addr.bdaddr,
+ &adapter, &device, false))
+ return;
+
+ if (device)
+ adapter_remove_connection(adapter, device);
- bonding_complete(info, &rp->addr.bdaddr, MGMT_STATUS_DISCONNECTED);
+ adapter_bonding_complete(adapter, &rp->addr.bdaddr,
+ MGMT_STATUS_DISCONNECTED);
}
static void pair_device_complete(int sk, uint16_t index, uint8_t status,