From 23c8c897f08f7568e1f98eefc47be7ae3da5cd54 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Fri, 2 Sep 2016 14:42:38 +0300 Subject: [PATCH] core/device: Fix attempting to connect to random address over BR/EDR BR/EDR don't have the concept of random addresses so the only option is to over LE in that case. --- src/device.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/device.c b/src/device.c index fb766d182..b8556f1be 100644 --- a/src/device.c +++ b/src/device.c @@ -1748,6 +1748,10 @@ static uint8_t select_conn_bearer(struct btd_device *dev) else if (!dev->bredr_state.bonded && dev->le_state.bonded) return dev->bdaddr_type; + /* If the address is private it can only be connected over LE */ + if (device_address_is_private(dev)) + return dev->bdaddr_type; + if (dev->bredr_seen) { bredr_last = current - dev->bredr_seen; if (bredr_last > SEEN_TRESHHOLD) -- 2.47.3