Diff between 6f94a3838a888a07003ddfa5c859b64fc4373ffe and 7ac7573780a753d62a810eae6c50a7dbc6076f9b

Changed Files

File Additions Deletions Status
src/event.c +0 -16 modified
src/event.h +0 -1 modified
src/mgmt.c +15 -1 modified

Full Patch

diff --git a/src/event.c b/src/event.c
index 783deb5..adbe7aa 100644
--- a/src/event.c
+++ b/src/event.c
@@ -276,22 +276,6 @@ int btd_event_ltk_notify(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
 	return 0;
 }
 
-void btd_event_device_unpaired(bdaddr_t *local, bdaddr_t *peer)
-{
-	struct btd_adapter *adapter;
-	struct btd_device *device;
-
-	if (!get_adapter_and_device(local, peer, &adapter, &device, FALSE))
-		return;
-
-	device_set_temporary(device, TRUE);
-
-	if (device_is_connected(device))
-		device_request_disconnect(device, NULL);
-	else
-		adapter_remove_device(adapter, device, TRUE);
-}
-
 void btd_event_returned_link_key(bdaddr_t *local, bdaddr_t *peer)
 {
 	struct btd_adapter *adapter;
diff --git a/src/event.h b/src/event.h
index 4874217..3b90ffc 100644
--- a/src/event.h
+++ b/src/event.h
@@ -25,7 +25,6 @@
 void btd_event_remote_name(const bdaddr_t *local, bdaddr_t *peer,
 							const char *name);
 void btd_event_returned_link_key(bdaddr_t *local, bdaddr_t *peer);
-void btd_event_device_unpaired(bdaddr_t *local, bdaddr_t *peer);
 int btd_event_link_key_notify(bdaddr_t *local, bdaddr_t *peer, uint8_t *key,
 					uint8_t key_type, uint8_t pin_length);
 int btd_event_ltk_notify(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
diff --git a/src/mgmt.c b/src/mgmt.c
index 961cab9..26ee8ca 100644
--- a/src/mgmt.c
+++ b/src/mgmt.c
@@ -1860,6 +1860,8 @@ static void mgmt_device_unblocked(int sk, uint16_t index, void *buf, size_t len)
 static void mgmt_device_unpaired(int sk, uint16_t index, void *buf, size_t len)
 {
 	struct controller_info *info;
+	struct btd_adapter *adapter;
+	struct btd_device *device;
 	struct mgmt_ev_device_unpaired *ev = buf;
 	char addr[18];
 
@@ -1878,7 +1880,19 @@ static void mgmt_device_unpaired(int sk, uint16_t index, void *buf, size_t len)
 
 	info = &controllers[index];
 
-	btd_event_device_unpaired(&info->bdaddr, &ev->addr.bdaddr);
+	if (!get_adapter_and_device(&info->bdaddr, &ev->addr.bdaddr,
+						&adapter, &device, false))
+		return;
+
+	if (!device)
+		return;
+
+	device_set_temporary(device, TRUE);
+
+	if (device_is_connected(device))
+		device_request_disconnect(device, NULL);
+	else
+		adapter_remove_device(adapter, device, TRUE);
 }
 
 static void mgmt_new_ltk(int sk, uint16_t index, void *buf, size_t len)