From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> If advertising manager is not enabled don't log any error on btd_adapter_update_found_device, also change btd_adv_monitor_offload_supported to btd_adv_monitor_offload_enabled since that is checking if the features has been enabled rather than it is just supported. Fixes: https://github.com/bluez/bluez/issues/286 --- src/adapter.c | 2 +- src/adv_monitor.c | 6 ++---- src/adv_monitor.h | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/adapter.c b/src/adapter.c index e59b16328..b15b5021f 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -6899,7 +6899,7 @@ void btd_adapter_update_found_device(struct btd_adapter *adapter, bool duplicate = false; struct queue *matched_monitors = NULL; - if (!btd_adv_monitor_offload_supported(adapter->adv_monitor_manager)) { + if (!btd_adv_monitor_offload_enabled(adapter->adv_monitor_manager)) { if (bdaddr_type != BDADDR_BREDR) ad = bt_ad_new_with_data(data_len, data); diff --git a/src/adv_monitor.c b/src/adv_monitor.c index 602830e30..33f4d9619 100644 --- a/src/adv_monitor.c +++ b/src/adv_monitor.c @@ -1844,12 +1844,10 @@ void btd_adv_monitor_manager_destroy(struct btd_adv_monitor_manager *manager) manager_destroy(manager); } -bool btd_adv_monitor_offload_supported(struct btd_adv_monitor_manager *manager) +bool btd_adv_monitor_offload_enabled(struct btd_adv_monitor_manager *manager) { - if (!manager) { - error("Manager is NULL, get offload support failed"); + if (!manager) return false; - } return !!(manager->enabled_features & MGMT_ADV_MONITOR_FEATURE_MASK_OR_PATTERNS); diff --git a/src/adv_monitor.h b/src/adv_monitor.h index bed6572d0..c6bb8a68a 100644 --- a/src/adv_monitor.h +++ b/src/adv_monitor.h @@ -27,7 +27,7 @@ struct btd_adv_monitor_manager *btd_adv_monitor_manager_create( struct mgmt *mgmt); void btd_adv_monitor_manager_destroy(struct btd_adv_monitor_manager *manager); -bool btd_adv_monitor_offload_supported(struct btd_adv_monitor_manager *manager); +bool btd_adv_monitor_offload_enabled(struct btd_adv_monitor_manager *manager); struct queue *btd_adv_monitor_content_filter( struct btd_adv_monitor_manager *manager, -- 2.34.1