diff --git a/src/event.c b/src/event.c
index e7be9a4..9ed224b 100644
--- a/src/event.c
+++ b/src/event.c
return TRUE;
}
-int btd_event_user_confirm(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey)
-{
- struct btd_adapter *adapter;
- struct btd_device *device;
-
- if (!get_adapter_and_device(sba, dba, &adapter, &device, TRUE))
- return -ENODEV;
-
- return device_confirm_passkey(device, passkey);
-}
-
int btd_event_user_passkey(bdaddr_t *sba, bdaddr_t *dba)
{
struct btd_adapter *adapter;
diff --git a/src/event.h b/src/event.h
index 62d2f98..f74ed2f 100644
--- a/src/event.h
+++ b/src/event.h
void btd_event_conn_failed(bdaddr_t *local, bdaddr_t *peer, uint8_t status);
void btd_event_disconn_complete(bdaddr_t *local, bdaddr_t *peer);
void btd_event_returned_link_key(bdaddr_t *local, bdaddr_t *peer);
-int btd_event_user_confirm(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey);
int btd_event_user_passkey(bdaddr_t *sba, bdaddr_t *dba);
int btd_event_user_notify(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey,
uint8_t entered);
diff --git a/src/mgmt.c b/src/mgmt.c
index 04e6ea2..b09faaf 100644
--- a/src/mgmt.c
+++ b/src/mgmt.c
{
struct mgmt_ev_user_confirm_request *ev = buf;
struct controller_info *info;
+ struct btd_adapter *adapter;
+ struct btd_device *device;
char addr[18];
int err;
info = &controllers[index];
- err = btd_event_user_confirm(&info->bdaddr, &ev->addr.bdaddr,
- btohl(ev->value));
+ if (!get_adapter_and_device(&info->bdaddr, &ev->addr.bdaddr,
+ &adapter, &device, true))
+ return;
+
+ err = device_confirm_passkey(device, btohl(ev->value));
if (err < 0) {
- error("btd_event_user_confirm: %s", strerror(-err));
+ error("device_confirm_passkey: %s", strerror(-err));
mgmt_confirm_reply(index, &ev->addr.bdaddr, ev->addr.type,
FALSE);
}