From 61d41af3036a87e14ddd36ce9803d17f37466936 Mon Sep 17 00:00:00 2001 From: Scott James Remnant Date: Thu, 3 Apr 2014 15:27:33 -0700 Subject: [PATCH] core: don't set BR/EDR support when no flags present The logic for setting the BR/EDR supported flag checked for the non-presence of the BR/EDR Unsupported flag without checking whether any flags were present at all. This meant all LE-only devices that returned Scan Response Data were being marked as supporting BR/EDR, since the flag was only set in the initial AD and not the SRD. --- src/adapter.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/adapter.c b/src/adapter.c index e396a3d9f..b8b9a9cba 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -4342,7 +4342,8 @@ static void update_found_devices(struct btd_adapter *adapter, device_update_last_seen(dev, bdaddr_type); - if (bdaddr_type != BDADDR_BREDR && !(eir_data.flags & EIR_BREDR_UNSUP)) + if (bdaddr_type != BDADDR_BREDR && eir_data.flags && + !(eir_data.flags & EIR_BREDR_UNSUP)) device_set_bredr_support(dev, true); if (eir_data.name != NULL && eir_data.name_complete) -- 2.47.3