Diff between 625fe7d94c020f5ce8684a702cabde63ee30688c and 1479dd29ac956387ba0e75d480061900191c2b81

Changed Files

File Additions Deletions Status
src/device.c +11 -0 modified
src/device.h +1 -0 modified

Full Patch

diff --git a/src/device.c b/src/device.c
index a5fcad7..6b7b958 100644
--- a/src/device.c
+++ b/src/device.c
@@ -2476,6 +2476,17 @@ void device_set_bredr_support(struct btd_device *device)
 	store_device_info(device);
 }
 
+void device_set_le_support(struct btd_device *device, uint8_t bdaddr_type)
+{
+	if (device->le)
+		return;
+
+	device->le = true;
+	device->bdaddr_type = bdaddr_type;
+
+	store_device_info(device);
+}
+
 void device_update_last_seen(struct btd_device *device, uint8_t bdaddr_type)
 {
 	if (bdaddr_type == BDADDR_BREDR)
diff --git a/src/device.h b/src/device.h
index 9c5e4fd..299dd3e 100644
--- a/src/device.h
+++ b/src/device.h
@@ -41,6 +41,7 @@ void device_set_class(struct btd_device *device, uint32_t class);
 void device_update_addr(struct btd_device *device, const bdaddr_t *bdaddr,
 							uint8_t bdaddr_type);
 void device_set_bredr_support(struct btd_device *device);
+void device_set_le_support(struct btd_device *device, uint8_t bdaddr_type);
 void device_update_last_seen(struct btd_device *device, uint8_t bdaddr_type);
 void device_merge_duplicate(struct btd_device *dev, struct btd_device *dup);
 uint32_t btd_device_get_class(struct btd_device *device);