summaryrefslogtreecommitdiff
path: root/src/adapter.c
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2023-02-22 14:06:05 -0800
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2023-03-10 13:41:06 -0800
commitf95ffcc8b1fe67c4b0443747c08f8e9d853025cf (patch)
tree7fdad674daf27808531a6585cdec3f7d6cf97d16 /src/adapter.c
parent3815ad119dcdc03df2a027f0eda4979d8d601846 (diff)
downloadbluez-f95ffcc8b1fe67c4b0443747c08f8e9d853025cf.tar.gz
core: Check if device has RSI
This checks if device is advertising an RSI and if so disregards if it is not discoverable since other members can be.
Diffstat (limited to 'src/adapter.c')
-rw-r--r--src/adapter.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/adapter.c b/src/adapter.c
index ae0eb364b..7947160a6 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -7122,7 +7122,7 @@ void btd_adapter_update_found_device(struct btd_adapter *adapter,
dev = btd_adapter_find_device(adapter, bdaddr, bdaddr_type);
if (!dev) {
- if (!discoverable && !monitoring) {
+ if (!discoverable && !monitoring && !eir_data.rsi) {
eir_data_free(&eir_data);
return;
}
@@ -7169,7 +7169,7 @@ void btd_adapter_update_found_device(struct btd_adapter *adapter,
/* If there is no matched Adv monitors, don't continue if not
* discoverable or if active discovery filter don't match.
*/
- if (!monitoring && (!discoverable ||
+ if (!eir_data.rsi && !monitoring && (!discoverable ||
(adapter->filtered_discovery && !is_filter_match(
adapter->discovery_list, &eir_data, rssi)))) {
eir_data_free(&eir_data);