diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2023-02-28 17:33:27 -0800 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2023-03-02 12:19:40 -0800 |
commit | 15458c5e1071fa9fa23c373e3330ff45d1792e3f (patch) | |
tree | 5e1459224b7e7268b908fa34246d2d89a92233ae /profiles | |
parent | d6f790f82de117fc16f5a6a8879be90599f85c8f (diff) | |
download | bluez-15458c5e1071fa9fa23c373e3330ff45d1792e3f.tar.gz |
media: Fix not checking BREDR support for A2DP
A2DP shall depend on MGMT_SETTING_BREDR setting so the likes of
bluetoothctl -e don't attempt to register A2DP with controller that
are on LE only mode.
Diffstat (limited to 'profiles')
-rw-r--r-- | profiles/audio/media.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/profiles/audio/media.c b/profiles/audio/media.c index 326e50a09..540e91bc6 100644 --- a/profiles/audio/media.c +++ b/profiles/audio/media.c @@ -1269,8 +1269,11 @@ static bool endpoint_properties_get(const char *uuid, return true; } -static bool endpoint_supported(struct btd_adapter *adapter) +static bool a2dp_endpoint_supported(struct btd_adapter *adapter) { + if (!btd_adapter_has_settings(adapter, MGMT_SETTING_BREDR)) + return false; + return true; } @@ -1291,8 +1294,10 @@ static struct media_endpoint_init { bool (*func)(struct media_endpoint *endpoint, int *err); bool (*supported)(struct btd_adapter *adapter); } init_table[] = { - { A2DP_SOURCE_UUID, endpoint_init_a2dp_source, endpoint_supported }, - { A2DP_SINK_UUID, endpoint_init_a2dp_sink, endpoint_supported }, + { A2DP_SOURCE_UUID, endpoint_init_a2dp_source, + a2dp_endpoint_supported }, + { A2DP_SINK_UUID, endpoint_init_a2dp_sink, + a2dp_endpoint_supported }, { PAC_SINK_UUID, endpoint_init_pac_sink, experimental_endpoint_supported }, { PAC_SOURCE_UUID, endpoint_init_pac_source, |