summaryrefslogtreecommitdiff
path: root/profiles
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2023-02-28 17:33:27 -0800
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2023-03-02 12:19:40 -0800
commit15458c5e1071fa9fa23c373e3330ff45d1792e3f (patch)
tree5e1459224b7e7268b908fa34246d2d89a92233ae /profiles
parentd6f790f82de117fc16f5a6a8879be90599f85c8f (diff)
downloadbluez-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.c11
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,