Diff between 3a9d75a8a15090a8f718f56c5f6f3f15407d1582 and 9fb9d23b89f4e25b0b765d1f7ba1b5fc03f2fa74

Changed Files

File Additions Deletions Status
src/adapter.c +4 -1 modified

Full Patch

diff --git a/src/adapter.c b/src/adapter.c
index d7e2550..1839286 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -6672,6 +6672,7 @@ static void connected_callback(uint16_t index, uint16_t length,
 	struct eir_data eir_data;
 	uint16_t eir_len;
 	char addr[18];
+	bool name_known;
 
 	if (length < sizeof(*ev)) {
 		error("Too small device connected event");
@@ -6704,7 +6705,9 @@ static void connected_callback(uint16_t index, uint16_t length,
 
 	adapter_add_connection(adapter, device, ev->addr.type);
 
-	if (eir_data.name != NULL) {
+	name_known = device_name_known(device);
+
+	if (eir_data.name && (eir_data.name_complete || !name_known)) {
 		device_store_cached_name(device, eir_data.name);
 		btd_device_device_set_name(device, eir_data.name);
 	}