Diff between bfaa219eb6a5d1de4a23aecf3cff51fff070b854 and 2fbbf95ff4f5388989039806f1f25801fd9e32db

Changed Files

File Additions Deletions Status
src/adapter.c +26 -3 modified
src/mgmt.c +0 -27 modified
src/mgmt.h +0 -3 modified

Full Patch

diff --git a/src/adapter.c b/src/adapter.c
index 4aa2243..75faa84 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -3530,10 +3530,33 @@ static gboolean connect_pending_cb(gpointer user_data)
 	return FALSE;
 }
 
+static int confirm_name(struct btd_adapter *adapter, const bdaddr_t *bdaddr,
+					uint8_t bdaddr_type, bool name_known)
+{
+	struct mgmt_cp_confirm_name cp;
+	char addr[18];
+
+	ba2str(bdaddr, addr);
+	DBG("hci%d bdaddr %s name_known %u", adapter->dev_id, addr,
+								name_known);
+
+	memset(&cp, 0, sizeof(cp));
+	bacpy(&cp.addr.bdaddr, bdaddr);
+	cp.addr.type = bdaddr_type;
+	cp.name_known = name_known;
+
+	if (mgmt_send(adapter->mgmt, MGMT_OP_CONFIRM_NAME,
+				adapter->dev_id, sizeof(cp), &cp,
+				NULL, NULL, NULL) > 0)
+		return 0;
+
+	return -EIO;
+}
+
 void adapter_update_found_devices(struct btd_adapter *adapter,
 					const bdaddr_t *bdaddr,
 					uint8_t bdaddr_type, int8_t rssi,
-					bool confirm_name, bool legacy,
+					bool confirm, bool legacy,
 					uint8_t *data, uint8_t data_len)
 {
 	struct discovery *discovery = adapter->discovery;
@@ -3594,8 +3617,8 @@ void adapter_update_found_devices(struct btd_adapter *adapter,
 	if (g_slist_find(discovery->found, dev))
 		return;
 
-	if (confirm_name)
-		mgmt_confirm_name(adapter->dev_id, bdaddr, bdaddr_type,
+	if (confirm)
+		confirm_name(adapter, bdaddr, bdaddr_type,
 						device_name_known(dev));
 
 	discovery->found = g_slist_prepend(discovery->found, dev);
diff --git a/src/mgmt.c b/src/mgmt.c
index 5d2197a..07c80fd 100644
--- a/src/mgmt.c
+++ b/src/mgmt.c
@@ -1175,33 +1175,6 @@ int mgmt_remove_remote_oob_data(int index, const bdaddr_t *bdaddr)
 	return 0;
 }
 
-int mgmt_confirm_name(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type,
-							gboolean name_known)
-{
-	char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_cp_confirm_name)];
-	struct mgmt_hdr *hdr = (void *) buf;
-	struct mgmt_cp_confirm_name *cp = (void *) &buf[sizeof(*hdr)];
-	char addr[18];
-
-	ba2str(bdaddr, addr);
-	DBG("hci%d bdaddr %s name_known %u", index, addr, name_known);
-
-	memset(buf, 0, sizeof(buf));
-
-	hdr->opcode = htobs(MGMT_OP_CONFIRM_NAME);
-	hdr->index = htobs(index);
-	hdr->len = htobs(sizeof(*cp));
-
-	bacpy(&cp->addr.bdaddr, bdaddr);
-	cp->addr.type = bdaddr_type;
-	cp->name_known = name_known;
-
-	if (write(mgmt_sock, &buf, sizeof(buf)) < 0)
-		return -errno;
-
-	return 0;
-}
-
 int mgmt_load_ltks(int index, GSList *keys)
 {
 	char *buf;
diff --git a/src/mgmt.h b/src/mgmt.h
index 5c0755c..a097da1 100644
--- a/src/mgmt.h
+++ b/src/mgmt.h
@@ -44,6 +44,3 @@ int mgmt_read_local_oob_data(int index);
 int mgmt_add_remote_oob_data(int index, const bdaddr_t *bdaddr,
 					uint8_t *hash, uint8_t *randomizer);
 int mgmt_remove_remote_oob_data(int index, const bdaddr_t *bdaddr);
-
-int mgmt_confirm_name(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type,
-							gboolean name_known);