* RE: [BlueZ,v1,1/2] shared/hci: Avoid redundant BPF filter updates on duplicate events
From: bluez.test.bot @ 2026-06-08 22:15 UTC (permalink / raw)
To: linux-bluetooth, luiz.dentz
In-Reply-To: <20260608205009.97585-1-luiz.dentz@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1118 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1108111
---Test result---
Test Summary:
CheckPatch PASS 0.99 seconds
GitLint FAIL 0.67 seconds
BuildEll PASS 20.62 seconds
BluezMake PASS 632.10 seconds
CheckSmatch PASS 331.99 seconds
bluezmakeextell PASS 166.70 seconds
IncrementalBuild PASS 640.51 seconds
ScanBuild PASS 948.65 seconds
Details
##############################
Test: GitLint - FAIL
Desc: Run gitlint
Output:
[BlueZ,v1,1/2] shared/hci: Avoid redundant BPF filter updates on duplicate events
1: T1 Title exceeds max length (81>80): "[BlueZ,v1,1/2] shared/hci: Avoid redundant BPF filter updates on duplicate events"
https://github.com/bluez/bluez/pull/2197
---
Regards,
Linux Bluetooth
^ permalink raw reply
* [bluez/bluez] 61b6c0: shared/hci: Avoid redundant BPF filter updates on ...
From: Luiz Augusto von Dentz @ 2026-06-08 21:29 UTC (permalink / raw)
To: linux-bluetooth
Branch: refs/heads/1108111
Home: https://github.com/bluez/bluez
Commit: 61b6c0cbc6a9c6c018ac942d301f4f900c272961
https://github.com/bluez/bluez/commit/61b6c0cbc6a9c6c018ac942d301f4f900c272961
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M src/shared/hci.c
Log Message:
-----------
shared/hci: Avoid redundant BPF filter updates on duplicate events
Skip updating the BPF socket filter in bt_hci_register and
bt_hci_register_subevent when the event/subevent is already
registered, since it is already part of the filter.
Similarly, skip updating the filter in bt_hci_unregister and
bt_hci_unregister_subevent when other handlers for the same
event/subevent still remain in the queue.
This avoids unnecessary setsockopt(SO_ATTACH_FILTER) calls when
multiple handlers are registered for the same event code.
Commit: ad880be30195eff5b2ad4d2df52f6c426d79fe73
https://github.com/bluez/bluez/commit/ad880be30195eff5b2ad4d2df52f6c426d79fe73
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M src/shared/hci.c
Log Message:
-----------
shared/hci: Debounce SO_ATTACH_FILTER with timeout_add(0)
Coalesce multiple BPF filter updates into a single SO_ATTACH_FILTER
setsockopt call by deferring the update to the next event loop
iteration using timeout_add(0, ...).
When bt_hci_register_event or bt_hci_register_subevent is called
multiple times in succession (e.g. from bt_rap_attach_hci), each call
previously triggered a full filter rebuild and setsockopt. Now,
schedule_evt_filter() simply marks a pending update which fires once
in filter_timeout() after all synchronous registrations complete.
Compare: https://github.com/bluez/bluez/compare/61b6c0cbc6a9%5E...ad880be30195
To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications
^ permalink raw reply
* [PATCH BlueZ v1 2/2] shared/hci: Debounce SO_ATTACH_FILTER with timeout_add(0)
From: Luiz Augusto von Dentz @ 2026-06-08 20:50 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <20260608205009.97585-1-luiz.dentz@gmail.com>
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Coalesce multiple BPF filter updates into a single SO_ATTACH_FILTER
setsockopt call by deferring the update to the next event loop
iteration using timeout_add(0, ...).
When bt_hci_register_event or bt_hci_register_subevent is called
multiple times in succession (e.g. from bt_rap_attach_hci), each call
previously triggered a full filter rebuild and setsockopt. Now,
schedule_evt_filter() simply marks a pending update which fires once
in filter_timeout() after all synchronous registrations complete.
---
src/shared/hci.c | 34 ++++++++++++++++++++++++++++++----
1 file changed, 30 insertions(+), 4 deletions(-)
diff --git a/src/shared/hci.c b/src/shared/hci.c
index 1aba7db1d995..e8586ab5014c 100644
--- a/src/shared/hci.c
+++ b/src/shared/hci.c
@@ -31,6 +31,7 @@
#include "src/shared/io.h"
#include "src/shared/util.h"
#include "src/shared/queue.h"
+#include "src/shared/timeout.h"
#include "src/shared/hci.h"
@@ -42,6 +43,7 @@ struct bt_hci {
uint8_t num_cmds;
unsigned int next_cmd_id;
unsigned int next_evt_id;
+ unsigned int filter_id;
struct queue *cmd_queue;
struct queue *rsp_queue;
struct queue *evt_list;
@@ -485,6 +487,9 @@ void bt_hci_unref(struct bt_hci *hci)
if (__sync_sub_and_fetch(&hci->ref_count, 1))
return;
+ if (hci->filter_id)
+ timeout_remove(hci->filter_id);
+
queue_destroy(hci->evt_list, evt_free);
queue_destroy(hci->subevt_list, evt_free);
queue_destroy(hci->cmd_queue, cmd_free);
@@ -765,6 +770,27 @@ static void update_evt_filter(struct bt_hci *hci)
free(filters);
}
+static bool filter_timeout(void *user_data)
+{
+ struct bt_hci *hci = user_data;
+
+ hci->filter_id = 0;
+ update_evt_filter(hci);
+
+ return false;
+}
+
+static void schedule_evt_filter(struct bt_hci *hci)
+{
+ /* Coalesce multiple filter updates into a single SO_ATTACH_FILTER call
+ * by deferring the update to the next event loop iteration.
+ */
+ if (hci->filter_id)
+ return;
+
+ hci->filter_id = timeout_add(0, filter_timeout, hci, NULL);
+}
+
static bool match_evt_event(const void *a, const void *b)
{
const struct evt *evt = a;
@@ -805,7 +831,7 @@ unsigned int bt_hci_register(struct bt_hci *hci, uint8_t event,
}
if (update_filter)
- update_evt_filter(hci);
+ schedule_evt_filter(hci);
return evt->id;
}
@@ -877,7 +903,7 @@ bool bt_hci_unregister(struct bt_hci *hci, unsigned int id)
/* Only update filter if no other handler for this event remains */
if (!queue_find(hci->evt_list, match_evt_event, UINT_TO_PTR(event)))
- update_evt_filter(hci);
+ schedule_evt_filter(hci);
return true;
}
@@ -916,7 +942,7 @@ unsigned int bt_hci_register_subevent(struct bt_hci *hci,
}
if (update_filter)
- update_evt_filter(hci);
+ schedule_evt_filter(hci);
return evt->id;
}
@@ -940,7 +966,7 @@ bool bt_hci_unregister_subevent(struct bt_hci *hci, unsigned int id)
/* Only update filter if no other handler for this subevent remains */
if (!queue_find(hci->subevt_list, match_evt_event,
UINT_TO_PTR(event)))
- update_evt_filter(hci);
+ schedule_evt_filter(hci);
return true;
}
--
2.54.0
^ permalink raw reply related
* [PATCH BlueZ v1 1/2] shared/hci: Avoid redundant BPF filter updates on duplicate events
From: Luiz Augusto von Dentz @ 2026-06-08 20:50 UTC (permalink / raw)
To: linux-bluetooth
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Skip updating the BPF socket filter in bt_hci_register and
bt_hci_register_subevent when the event/subevent is already
registered, since it is already part of the filter.
Similarly, skip updating the filter in bt_hci_unregister and
bt_hci_unregister_subevent when other handlers for the same
event/subevent still remain in the queue.
This avoids unnecessary setsockopt(SO_ATTACH_FILTER) calls when
multiple handlers are registered for the same event code.
---
src/shared/hci.c | 37 +++++++++++++++++++++++++++++++++----
1 file changed, 33 insertions(+), 4 deletions(-)
diff --git a/src/shared/hci.c b/src/shared/hci.c
index 40326fc810e6..1aba7db1d995 100644
--- a/src/shared/hci.c
+++ b/src/shared/hci.c
@@ -765,15 +765,28 @@ static void update_evt_filter(struct bt_hci *hci)
free(filters);
}
+static bool match_evt_event(const void *a, const void *b)
+{
+ const struct evt *evt = a;
+ uint8_t event = PTR_TO_UINT(b);
+
+ return evt->event == event;
+}
+
unsigned int bt_hci_register(struct bt_hci *hci, uint8_t event,
bt_hci_callback_func_t callback,
void *user_data, bt_hci_destroy_func_t destroy)
{
struct evt *evt;
+ bool update_filter;
if (!hci)
return 0;
+ /* Check if event already has a handler registered */
+ update_filter = !queue_find(hci->evt_list, match_evt_event,
+ UINT_TO_PTR(event));
+
evt = new0(struct evt, 1);
evt->event = event;
@@ -791,7 +804,8 @@ unsigned int bt_hci_register(struct bt_hci *hci, uint8_t event,
return 0;
}
- update_evt_filter(hci);
+ if (update_filter)
+ update_evt_filter(hci);
return evt->id;
}
@@ -849,6 +863,7 @@ static bool match_evt_id(const void *a, const void *b)
bool bt_hci_unregister(struct bt_hci *hci, unsigned int id)
{
struct evt *evt;
+ uint8_t event;
if (!hci || !id)
return false;
@@ -857,9 +872,12 @@ bool bt_hci_unregister(struct bt_hci *hci, unsigned int id)
if (!evt)
return false;
+ event = evt->event;
evt_free(evt);
- update_evt_filter(hci);
+ /* Only update filter if no other handler for this event remains */
+ if (!queue_find(hci->evt_list, match_evt_event, UINT_TO_PTR(event)))
+ update_evt_filter(hci);
return true;
}
@@ -871,10 +889,15 @@ unsigned int bt_hci_register_subevent(struct bt_hci *hci,
void *user_data, bt_hci_destroy_func_t destroy)
{
struct evt *evt;
+ bool update_filter;
if (!hci)
return 0;
+ /* Check if subevent already has a handler registered */
+ update_filter = !queue_find(hci->subevt_list, match_evt_event,
+ UINT_TO_PTR(subevent));
+
evt = new0(struct evt, 1);
evt->event = subevent;
@@ -892,7 +915,8 @@ unsigned int bt_hci_register_subevent(struct bt_hci *hci,
return 0;
}
- update_evt_filter(hci);
+ if (update_filter)
+ update_evt_filter(hci);
return evt->id;
}
@@ -900,6 +924,7 @@ unsigned int bt_hci_register_subevent(struct bt_hci *hci,
bool bt_hci_unregister_subevent(struct bt_hci *hci, unsigned int id)
{
struct evt *evt;
+ uint8_t event;
if (!hci || !id)
return false;
@@ -909,9 +934,13 @@ bool bt_hci_unregister_subevent(struct bt_hci *hci, unsigned int id)
if (!evt)
return false;
+ event = evt->event;
evt_free(evt);
- update_evt_filter(hci);
+ /* Only update filter if no other handler for this subevent remains */
+ if (!queue_find(hci->subevt_list, match_evt_event,
+ UINT_TO_PTR(event)))
+ update_evt_filter(hci);
return true;
}
--
2.54.0
^ permalink raw reply related
* [bluez/bluez]
From: BluezTestBot @ 2026-06-08 19:50 UTC (permalink / raw)
To: linux-bluetooth
Branch: refs/heads/1107787
Home: https://github.com/bluez/bluez
To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications
^ permalink raw reply
* [bluez/bluez]
From: BluezTestBot @ 2026-06-08 19:50 UTC (permalink / raw)
To: linux-bluetooth
Branch: refs/heads/1107789
Home: https://github.com/bluez/bluez
To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications
^ permalink raw reply
* [bluez/bluez]
From: BluezTestBot @ 2026-06-08 19:50 UTC (permalink / raw)
To: linux-bluetooth
Branch: refs/heads/1107813
Home: https://github.com/bluez/bluez
To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications
^ permalink raw reply
* [bluez/bluez] 60437c: avdtp: Fix GET_CONFIGURATION cmd
From: Šimon Mikuda @ 2026-06-08 19:49 UTC (permalink / raw)
To: linux-bluetooth
Branch: refs/heads/master
Home: https://github.com/bluez/bluez
Commit: 60437c06560e46d211aaf99620cc9510dfd8081f
https://github.com/bluez/bluez/commit/60437c06560e46d211aaf99620cc9510dfd8081f
Author: Simon Mikuda <simon.mikuda@streamunlimited.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M profiles/audio/avdtp.c
Log Message:
-----------
avdtp: Fix GET_CONFIGURATION cmd
This fixes AVDTP/SNK/ACP/SIG/SMG/BV-12-C
Commit: 7c1c90f7b6d0f653c581878a039e2d02362f33f5
https://github.com/bluez/bluez/commit/7c1c90f7b6d0f653c581878a039e2d02362f33f5
Author: Simon Mikuda <simon.mikuda@streamunlimited.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M profiles/audio/avdtp.c
Log Message:
-----------
avdtp: Fix error handling for AVDTP_OPEN cmd
We have to return BAD_STATE when local SEP is available instead of
BAD_ACP_SEID.
This fixes: AVDTP/SNK/ACP/SIG/SMG/BI-26-C
Commit: 2c4ed7bfd3b3cade7abdec655702c554259cf8c0
https://github.com/bluez/bluez/commit/2c4ed7bfd3b3cade7abdec655702c554259cf8c0
Author: Simon Mikuda <simon.mikuda@streamunlimited.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M src/shared/bap.c
M unit/test-bap.c
Log Message:
-----------
bap: Fix ASE control point properties
WriteWithoutResponse is mandatory as per ASCS 1.0.
Commit: 7ca747652dc44ecf1fa0336cc7570737f07a23f6
https://github.com/bluez/bluez/commit/7ca747652dc44ecf1fa0336cc7570737f07a23f6
Author: Simon Mikuda <simon.mikuda@streamunlimited.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M src/device.c
Log Message:
-----------
device: Fix auth_retry timeout not being removed on reconnect
timeout_remove() was called with 0 instead of the actual timer ID
because auth_retry_id was zeroed before the call.
Commit: 279c4ac70c77d88e1947cef98cdabc288d2430d3
https://github.com/bluez/bluez/commit/279c4ac70c77d88e1947cef98cdabc288d2430d3
Author: Frédéric Danis <frederic.danis@collabora.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M src/device.c
Log Message:
-----------
device: Fix cache update on device remove
If there's no other group than the one explicitly removed the length
returned by g_key_file_to_data() will be 0 and currently nothing
will be changed in the device cache file.
If there's nothing to write, remove the device cache file.
Commit: 56835e9061de1eca24b8d2395ed6d1ae35d8361b
https://github.com/bluez/bluez/commit/56835e9061de1eca24b8d2395ed6d1ae35d8361b
Author: Simon Mikuda <simon.mikuda@streamunlimited.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M profiles/input/server.c
M src/adapter.c
M src/device.c
M src/device.h
Log Message:
-----------
device: Refactor device_discover_services function
After refactoring we can reuse function once more in function
void device_bonding_complete(...)
Commit: 415955bb70baa17a82fa107e5fa34c501c6a006b
https://github.com/bluez/bluez/commit/415955bb70baa17a82fa107e5fa34c501c6a006b
Author: Simon Mikuda <simon.mikuda@streamunlimited.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M src/device.c
Log Message:
-----------
device: Rename start_discovery function
Rename it to start_discovery_cb to indicate that it is callback function
from timer.
Commit: 622a46ebcd72a511219d51366352d4cf6a46dbba
https://github.com/bluez/bluez/commit/622a46ebcd72a511219d51366352d4cf6a46dbba
Author: Simon Mikuda <simon.mikuda@streamunlimited.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M src/device.c
Log Message:
-----------
device: Fix returning discovery error for Device.Pair
If discovery was requesed from pair request we will report successfull
pairing even if there was an error during discovery.
Compare: https://github.com/bluez/bluez/compare/7a0c8ebf91e6...622a46ebcd72
To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications
^ permalink raw reply
* Re: [PATCH BlueZ] device: Fix cache update on device remove
From: patchwork-bot+bluetooth @ 2026-06-08 18:20 UTC (permalink / raw)
To: =?utf-8?b?RnLDqWTDqXJpYyBEYW5pcyA8ZnJlZGVyaWMuZGFuaXNAY29sbGFib3JhLmNvbT4=?=
Cc: linux-bluetooth
In-Reply-To: <20260608122713.72681-1-frederic.danis@collabora.com>
Hello:
This patch was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:
On Mon, 8 Jun 2026 14:27:13 +0200 you wrote:
> If there's no other group than the one explicitly removed the length
> returned by g_key_file_to_data() will be 0 and currently nothing
> will be changed in the device cache file.
>
> If there's nothing to write, remove the device cache file.
> ---
> src/device.c | 2 ++
> 1 file changed, 2 insertions(+)
Here is the summary with links:
- [BlueZ] device: Fix cache update on device remove
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=279c4ac70c77
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply
* Re: [PATCH BlueZ] device: Fix auth_retry timeout not being removed on reconnect
From: patchwork-bot+bluetooth @ 2026-06-08 18:20 UTC (permalink / raw)
To: Simon Mikuda; +Cc: linux-bluetooth
In-Reply-To: <20260608112403.3720840-1-simon.mikuda@streamunlimited.com>
Hello:
This patch was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:
On Mon, 8 Jun 2026 13:24:03 +0200 you wrote:
> timeout_remove() was called with 0 instead of the actual timer ID
> because auth_retry_id was zeroed before the call.
> ---
> src/device.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Here is the summary with links:
- [BlueZ] device: Fix auth_retry timeout not being removed on reconnect
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=7ca747652dc4
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply
* Re: [PATCH BlueZ 1/2] avdtp: Fix GET_CONFIGURATION cmd
From: patchwork-bot+bluetooth @ 2026-06-08 18:20 UTC (permalink / raw)
To: Simon Mikuda; +Cc: linux-bluetooth
In-Reply-To: <20260608112923.3722754-1-simon.mikuda@streamunlimited.com>
Hello:
This series was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:
On Mon, 8 Jun 2026 13:29:22 +0200 you wrote:
> This fixes AVDTP/SNK/ACP/SIG/SMG/BV-12-C
> ---
> profiles/audio/avdtp.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
Here is the summary with links:
- [BlueZ,1/2] avdtp: Fix GET_CONFIGURATION cmd
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=60437c06560e
- [BlueZ,2/2] avdtp: Fix error handling for AVDTP_OPEN cmd
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=7c1c90f7b6d0
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply
* Re: [PATCH BlueZ v3 1/3] device: Refactor device_discover_services function
From: patchwork-bot+bluetooth @ 2026-06-08 18:20 UTC (permalink / raw)
To: Simon Mikuda; +Cc: linux-bluetooth
In-Reply-To: <20260608110743.3683728-1-simon.mikuda@streamunlimited.com>
Hello:
This series was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:
On Mon, 8 Jun 2026 13:07:41 +0200 you wrote:
> After refactoring we can reuse function once more in function
> void device_bonding_complete(...)
> ---
> profiles/input/server.c | 2 +-
> src/adapter.c | 2 +-
> src/device.c | 26 ++++++++------------------
> src/device.h | 3 ++-
> 4 files changed, 12 insertions(+), 21 deletions(-)
Here is the summary with links:
- [BlueZ,v3,1/3] device: Refactor device_discover_services function
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=56835e9061de
- [BlueZ,v3,2/3] device: Rename start_discovery function
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=415955bb70ba
- [BlueZ,v3,3/3] device: Fix returning discovery error for Device.Pair
(no matching commit)
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply
* Re: [PATCH BlueZ] a2dp: Add codec prioritization
From: Pauli Virtanen @ 2026-06-08 15:58 UTC (permalink / raw)
To: Simon Mikuda, linux-bluetooth; +Cc: Luiz Augusto von Dentz
In-Reply-To: <20260608111658.3686364-1-simon.mikuda@streamunlimited.com>
Hi,
ma, 2026-06-08 kello 13:16 +0200, Simon Mikuda kirjoitti:
> This change will select best codec when connecting to A2DP:
> LDAC > AptX HD > AptX > AAC > SBC
Currently it's media server's job to decide what A2DP codec to use.
What they do for this sort of static ordering, is to register endpoints
in the wanted priority order, so I think another mechanism for fixed
ordering is not really needed.
What could be useful is something that allows per-device priority
selection, e.g. DBus callback that BlueZ uses to query which endpoint
to configure, before starting SelectConfiguration.
I'm not sure this is highly needed though, as iirc BlueZ remembers what
configuration was used on previous connects, and if BlueZ gets it wrong
the sound server can just reconfigure as needed at the cost of some
extra delay when connecting.
> ---
> profiles/audio/avdtp.c | 51 +++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 50 insertions(+), 1 deletion(-)
>
> diff --git a/profiles/audio/avdtp.c b/profiles/audio/avdtp.c
> index d475a545e..a8733a7e1 100644
> --- a/profiles/audio/avdtp.c
> +++ b/profiles/audio/avdtp.c
> @@ -42,6 +42,8 @@
> #include "sink.h"
> #include "source.h"
>
> +#include "a2dp-codecs.h"
> +
> #define AVDTP_PSM 25
>
> #define MAX_SEID 0x3E
> @@ -1293,10 +1295,49 @@ static struct avdtp_stream *find_stream_by_lseid(struct avdtp *session,
> return find_stream_by_lsep(session, sep);
> }
>
> +static unsigned int get_codec_priority(
> + struct avdtp_media_codec_capability *codec_cap)
> +{
> + unsigned int priority = codec_cap->media_codec_type;
> +
> + if (codec_cap->media_codec_type == A2DP_CODEC_VENDOR) {
> + a2dp_vendor_codec_t *vendor_codec = (void *) codec_cap->data;
> +
> + switch (A2DP_GET_VENDOR_ID(*vendor_codec)) {
> + case APTX_VENDOR_ID:
> + return priority + 100;
> + case APTX_HD_VENDOR_ID:
> + return priority + 200;
> + case LDAC_VENDOR_ID:
> + return priority + 300;
> + }
> + }
> +
> + return priority;
> +}
> +
> +static int sep_codec_cmp(gconstpointer a, gconstpointer b)
> +{
> + const struct avdtp_remote_sep *sep1 = a;
> + struct avdtp_service_capability *cap1 = sep1->codec;
> + unsigned int priority1 = get_codec_priority((void *) cap1->data);
> +
> + const struct avdtp_remote_sep *sep2 = b;
> + struct avdtp_service_capability *cap2 = sep2->codec;
> + unsigned int priority2 = get_codec_priority((void *) cap2->data);
> +
> + if (priority1 < priority2)
> + return 1;
> + if (priority1 > priority2)
> + return -1;
> + return 0;
> +}
> +
> struct avdtp_remote_sep *avdtp_find_remote_sep(struct avdtp *session,
> struct avdtp_local_sep *lsep)
> {
> GSList *l;
> + GSList *sorted = NULL;
>
> for (l = session->seps; l != NULL; l = g_slist_next(l)) {
> struct avdtp_remote_sep *sep = l->data;
> @@ -1325,7 +1366,15 @@ struct avdtp_remote_sep *avdtp_find_remote_sep(struct avdtp *session,
> continue;
>
> if (sep->stream == NULL)
> - return sep;
> + sorted = g_slist_insert_sorted(sorted, sep,
> + sep_codec_cmp);
> + }
> +
> + if (sorted) {
> + struct avdtp_remote_sep *sep = sorted->data;
> +
> + g_slist_free(sorted);
> + return sep;
> }
>
> return NULL;
--
Pauli Virtanen
^ permalink raw reply
* RE: [BlueZ,1/2] avdtp: Add GetConfiguration DBus function
From: bluez.test.bot @ 2026-06-08 15:54 UTC (permalink / raw)
To: linux-bluetooth, simon.mikuda
In-Reply-To: <20260608121226.3727101-1-simon.mikuda@streamunlimited.com>
[-- Attachment #1: Type: text/plain, Size: 990 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1107804
---Test result---
Test Summary:
CheckPatch PASS 1.24 seconds
GitLint PASS 0.67 seconds
BuildEll PASS 21.01 seconds
BluezMake PASS 661.73 seconds
MakeCheck PASS 18.56 seconds
MakeDistcheck PASS 246.15 seconds
CheckValgrind PASS 291.39 seconds
CheckSmatch PASS 357.14 seconds
bluezmakeextell PASS 182.97 seconds
IncrementalBuild PASS 661.73 seconds
ScanBuild PASS 1030.26 seconds
https://github.com/bluez/bluez/pull/2193
---
Regards,
Linux Bluetooth
^ permalink raw reply
* RE: [BlueZ,1/2] avdtp: Fix GET_CONFIGURATION cmd
From: bluez.test.bot @ 2026-06-08 15:53 UTC (permalink / raw)
To: linux-bluetooth, simon.mikuda
In-Reply-To: <20260608112923.3722754-1-simon.mikuda@streamunlimited.com>
[-- Attachment #1: Type: text/plain, Size: 989 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1107789
---Test result---
Test Summary:
CheckPatch PASS 1.03 seconds
GitLint PASS 0.65 seconds
BuildEll PASS 20.54 seconds
BluezMake PASS 664.01 seconds
MakeCheck PASS 3.51 seconds
MakeDistcheck PASS 247.31 seconds
CheckValgrind PASS 226.51 seconds
CheckSmatch PASS 353.09 seconds
bluezmakeextell PASS 182.98 seconds
IncrementalBuild PASS 664.39 seconds
ScanBuild PASS 1049.89 seconds
https://github.com/bluez/bluez/pull/2192
---
Regards,
Linux Bluetooth
^ permalink raw reply
* RE: [BlueZ] gatt-client: Add PreferredNotifyType property
From: bluez.test.bot @ 2026-06-08 15:49 UTC (permalink / raw)
To: linux-bluetooth, simon.mikuda
In-Reply-To: <20260608142050.3742000-1-simon.mikuda@streamunlimited.com>
[-- Attachment #1: Type: text/plain, Size: 989 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1107894
---Test result---
Test Summary:
CheckPatch PASS 0.61 seconds
GitLint PASS 0.34 seconds
BuildEll PASS 20.15 seconds
BluezMake PASS 607.22 seconds
MakeCheck PASS 19.31 seconds
MakeDistcheck PASS 233.45 seconds
CheckValgrind PASS 272.52 seconds
CheckSmatch PASS 321.85 seconds
bluezmakeextell PASS 163.91 seconds
IncrementalBuild PASS 609.86 seconds
ScanBuild PASS 915.31 seconds
https://github.com/bluez/bluez/pull/2195
---
Regards,
Linux Bluetooth
^ permalink raw reply
* RE: [BlueZ] device: Fix cache update on device remove
From: bluez.test.bot @ 2026-06-08 15:41 UTC (permalink / raw)
To: linux-bluetooth, frederic.danis
In-Reply-To: <20260608122713.72681-1-frederic.danis@collabora.com>
[-- Attachment #1: Type: text/plain, Size: 825 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1107813
---Test result---
Test Summary:
CheckPatch PASS 0.31 seconds
GitLint PASS 0.22 seconds
BuildEll PASS 17.71 seconds
BluezMake PASS 653.12 seconds
CheckSmatch PASS 313.99 seconds
bluezmakeextell PASS 166.43 seconds
IncrementalBuild PASS 616.69 seconds
ScanBuild PASS 909.63 seconds
https://github.com/bluez/bluez/pull/2194
---
Regards,
Linux Bluetooth
^ permalink raw reply
* Re: [PATCH BlueZ] gatt-client: Add PreferredNotifyType property
From: Luiz Augusto von Dentz @ 2026-06-08 15:21 UTC (permalink / raw)
To: Simon Mikuda; +Cc: linux-bluetooth
In-Reply-To: <20260608142050.3742000-1-simon.mikuda@streamunlimited.com>
Hi Simon,
On Mon, Jun 8, 2026 at 10:31 AM Simon Mikuda
<simon.mikuda@streamunlimited.com> wrote:
>
> When a characteristic supports both notifications and indications the
> CCC we always register for notifications, leaving no way to choose
> indications from D-Bus.
>
> Add PreferredNotifyType (string, "notification"/"indication") to
> org.bluez.GattCharacteristic1, only present when both flags are set.
> StartNotify() and AcquireNotify() honor it on the next CCC write.
> ---
> doc/org.bluez.GattCharacteristic.rst | 21 +++++++
> src/gatt-client.c | 85 ++++++++++++++++++++++++++++
> src/shared/gatt-client.c | 31 +++++++++-
> src/shared/gatt-client.h | 3 +
> 4 files changed, 138 insertions(+), 2 deletions(-)
>
> diff --git a/doc/org.bluez.GattCharacteristic.rst b/doc/org.bluez.GattCharacteristic.rst
> index 805f39593..f7e541590 100644
> --- a/doc/org.bluez.GattCharacteristic.rst
> +++ b/doc/org.bluez.GattCharacteristic.rst
> @@ -401,3 +401,24 @@ uint16 MTU [read-only]
>
> Characteristic MTU, this is valid both for **ReadValue()** and **WriteValue()**
> but either method can use long procedures when supported.
> +
> +string PreferredNotifyType [readwrite, optional, experimental]
> +``````````````````````````````````````````````````````````````
> +
> +Selects whether **StartNotify()** and **AcquireNotify()** enable notifications
> +or indications when the characteristic supports both. Only present when both
> +"notify" and "indicate" flags are set.
> +
> +Possible values:
> +
> +:"notification":
> +
> + Enable notifications (CCC = 0x0001). Default.
> +
> +:"indication":
> +
> + Enable indications (CCC = 0x0002).
> +
> +Note: the preference applies on the next CCC write. If another client has
> +already enabled the CCC on this characteristic, the existing setting is kept
> +and the new preference takes effect only after the last subscriber stops.
Well the spec seems to have changed to allow setting both notify and
indicate simultaneously as well:
If both the Notification and Indication bits are set, then the server
shall use the notification procedure (see Section 4.10) when an
acknowledgment is not required by a higher-layer specification or
shall use the indication procedure (see Section 4.11) when an
acknowledgment is required. The server should not use both procedures
to send the same characteristic value.
So perhaps we need to handle that as well, that said I don't know if
it wouldn't be more efficient to add another method which would enable
passing the value directly rather modifying the
StartNotify/AcquireNotify behavior, but then we would need to create a
different interface name in order to break the existing methods, so
maybe going wit this is better and we just need to handle 0x0003 as
being both enabled and the server decides what to do with it.
> diff --git a/src/gatt-client.c b/src/gatt-client.c
> index 3baf95c4f..29564a87d 100644
> --- a/src/gatt-client.c
> +++ b/src/gatt-client.c
> @@ -115,6 +115,7 @@ struct characteristic {
> struct queue *descs;
>
> bool notifying;
> + bool prefer_indicate;
> struct queue *notify_clients;
> };
>
> @@ -1595,6 +1596,9 @@ static DBusMessage *characteristic_acquire_notify(DBusConnection *conn,
> if (!client)
> return btd_error_failed(msg, "Failed allocate notify session");
>
> + bt_gatt_client_set_notify_prefer_indicate(gatt, chrc->value_handle,
> + chrc->prefer_indicate);
> +
> client->notify_id = bt_gatt_client_register_notify(gatt,
> chrc->value_handle,
> register_notify_io_cb,
> @@ -1673,6 +1677,9 @@ static DBusMessage *characteristic_start_notify(DBusConnection *conn,
>
> op = async_dbus_op_new(msg, client);
>
> + bt_gatt_client_set_notify_prefer_indicate(gatt, chrc->value_handle,
> + chrc->prefer_indicate);
> +
> client->notify_id = bt_gatt_client_register_notify(gatt,
> chrc->value_handle,
> register_notify_cb, notify_cb,
> @@ -1719,6 +1726,76 @@ static DBusMessage *characteristic_stop_notify(DBusConnection *conn,
> return dbus_message_new_method_return(msg);
> }
>
> +static gboolean
> +characteristic_get_prefer_notify_type(const GDBusPropertyTable *property,
> + DBusMessageIter *iter, void *data)
> +{
> + struct characteristic *chrc = data;
> + const char *str = chrc->prefer_indicate ? "indication" : "notification";
> +
> + dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &str);
> +
> + return TRUE;
> +}
> +
> +static void
> +characteristic_set_prefer_notify_type(const GDBusPropertyTable *property,
> + DBusMessageIter *iter,
> + GDBusPendingPropertySet id, void *data)
> +{
> + struct characteristic *chrc = data;
> + struct bt_gatt_client *gatt = chrc->service->client->gatt;
> + const char *str;
> + bool prefer;
> +
> + if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) {
> + g_dbus_pending_property_error(id,
> + ERROR_INTERFACE ".InvalidArguments",
> + "Invalid arguments in method call");
> + return;
> + }
> +
> + dbus_message_iter_get_basic(iter, &str);
> +
> + if (!strcmp(str, "notification"))
> + prefer = false;
> + else if (!strcmp(str, "indication"))
> + prefer = true;
> + else {
> + g_dbus_pending_property_error(id,
> + ERROR_INTERFACE ".InvalidArguments",
> + "Invalid arguments in method call");
> + return;
> + }
> +
> + if (chrc->prefer_indicate == prefer) {
> + g_dbus_pending_property_success(id);
> + return;
> + }
> +
> + chrc->prefer_indicate = prefer;
> +
> + if (gatt)
> + bt_gatt_client_set_notify_prefer_indicate(gatt,
> + chrc->value_handle, prefer);
> +
> + g_dbus_emit_property_changed(btd_get_dbus_connection(), chrc->path,
> + GATT_CHARACTERISTIC_IFACE,
> + "PreferredNotifyType");
> +
> + g_dbus_pending_property_success(id);
> +}
> +
> +static gboolean
> +characteristic_prefer_notify_type_exists(const GDBusPropertyTable *property,
> + void *data)
> +{
> + struct characteristic *chrc = data;
> +
> + return (chrc->props & BT_GATT_CHRC_PROP_NOTIFY) &&
> + (chrc->props & BT_GATT_CHRC_PROP_INDICATE);
> +}
> +
> static const GDBusPropertyTable characteristic_properties[] = {
> { "Handle", "q", characteristic_get_handle },
> { "UUID", "s", characteristic_get_uuid, NULL, NULL },
> @@ -1733,6 +1810,10 @@ static const GDBusPropertyTable characteristic_properties[] = {
> { "NotifyAcquired", "b", characteristic_get_notify_acquired, NULL,
> characteristic_notify_acquired_exists },
> { "MTU", "q", characteristic_get_mtu, NULL, characteristic_mtu_exists },
> + { "PreferredNotifyType", "s", characteristic_get_prefer_notify_type,
> + characteristic_set_prefer_notify_type,
> + characteristic_prefer_notify_type_exists,
> + G_DBUS_PROPERTY_FLAG_EXPERIMENTAL },
> { }
> };
>
> @@ -2282,6 +2363,10 @@ static void register_notify(void *data, void *user_data)
> op = new0(struct async_dbus_op, 1);
> op->data = notify_client;
>
> + bt_gatt_client_set_notify_prefer_indicate(client->gatt,
> + notify_client->chrc->value_handle,
> + notify_client->chrc->prefer_indicate);
> +
> notify_client->notify_id = bt_gatt_client_register_notify(client->gatt,
> notify_client->chrc->value_handle,
> register_notify_cb, notify_cb,
> diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c
> index a6abe8ac2..403d22758 100644
> --- a/src/shared/gatt-client.c
> +++ b/src/shared/gatt-client.c
> @@ -217,6 +217,7 @@ struct notify_chrc {
> uint16_t properties;
> unsigned int notify_id;
> int notify_count; /* Reference count of registered notify callbacks */
> + bool prefer_indicate;
>
> /* Pending calls to register_notify are queued here so that they can be
> * processed after a write that modifies the CCC descriptor.
> @@ -1671,9 +1672,13 @@ static bool notify_data_write_ccc(struct notify_data *notify_data, bool enable,
>
> if (enable) {
> /* Try to enable notifications or indications based on
> - * whatever the characteristic supports.
> + * whatever the characteristic supports. If both are
> + * available honor the per-chrc prefer_indicate flag.
> */
> - if (properties & BT_GATT_CHRC_PROP_NOTIFY)
> + if (notify_data->chrc->prefer_indicate &&
> + (properties & BT_GATT_CHRC_PROP_INDICATE))
> + value = cpu_to_le16(0x0002);
> + else if (properties & BT_GATT_CHRC_PROP_NOTIFY)
> value = cpu_to_le16(0x0001);
> else if (properties & BT_GATT_CHRC_PROP_INDICATE)
> value = cpu_to_le16(0x0002);
> @@ -3838,6 +3843,28 @@ unsigned int bt_gatt_client_register_notify(struct bt_gatt_client *client,
> user_data, destroy);
> }
>
> +bool bt_gatt_client_set_notify_prefer_indicate(struct bt_gatt_client *client,
> + uint16_t value_handle,
> + bool prefer)
> +{
> + struct notify_chrc *chrc;
> +
> + if (!client || !client->db || !value_handle)
> + return false;
> +
> + chrc = queue_find(client->notify_chrcs, match_notify_chrc_value_handle,
> + UINT_TO_PTR(value_handle));
> + if (!chrc) {
> + chrc = notify_chrc_create(client, value_handle);
> + if (!chrc)
> + return false;
> + }
> +
> + chrc->prefer_indicate = prefer;
> +
> + return true;
> +}
> +
> bool bt_gatt_client_unregister_notify(struct bt_gatt_client *client,
> unsigned int id)
> {
> diff --git a/src/shared/gatt-client.h b/src/shared/gatt-client.h
> index 63cf99500..0d08f8014 100644
> --- a/src/shared/gatt-client.h
> +++ b/src/shared/gatt-client.h
> @@ -124,6 +124,9 @@ unsigned int bt_gatt_client_register_notify(struct bt_gatt_client *client,
> bt_gatt_client_destroy_func_t destroy);
> bool bt_gatt_client_unregister_notify(struct bt_gatt_client *client,
> unsigned int id);
> +bool bt_gatt_client_set_notify_prefer_indicate(struct bt_gatt_client *client,
> + uint16_t value_handle,
> + bool prefer);
>
> bool bt_gatt_client_set_security(struct bt_gatt_client *client, int level);
> int bt_gatt_client_get_security(struct bt_gatt_client *client);
> --
> 2.43.0
>
>
--
Luiz Augusto von Dentz
^ permalink raw reply
* Re: [PATCH v2 0/7] arm64: dts: qcom: enable WiFi/BT on SM8350 HDK
From: Rob Herring @ 2026-06-08 15:18 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Manivannan Sadhasivam, Lorenzo Pieralisi,
Krzysztof Wilczyński, Bjorn Helgaas, Konrad Dybcio, Qiang Yu,
Jeff Johnson, Liam Girdwood, Mark Brown, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Marcel Holtmann,
Luiz Augusto von Dentz, Balakrishna Godavarthi, Rocky Liao,
Bjorn Andersson, Konrad Dybcio, linux-arm-msm, linux-pci,
linux-kernel, linux-wireless, ath11k, devicetree,
Bartosz Golaszewski, linux-bluetooth, Bartosz Golaszewski
In-Reply-To: <20260608-sm8350-wifi-v2-0-efb68f1ff04c@oss.qualcomm.com>
On Mon, Jun 08, 2026 at 09:59:18AM +0300, Dmitry Baryshkov wrote:
> The SM8350 HDK has an onboard WCN6851 WiFi/BT chip, which for a long
> time was not supported. Bring up different pieces required to enable
> this SoC.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> Changes in v2:
> - Bumped num_vdevs to 4 to follow other similar devices (Jeff)
> - Link to v1: https://patch.msgid.link/20260601-sm8350-wifi-v1-0-242917d88031@oss.qualcomm.com
>
> ---
> Dmitry Baryshkov (7):
> PCI: qcom: fix parsing of PERST# in the legacy case
> wifi: ath11k: enable support for WCN6851
> regulator: dt-bindings: qcom,qca6390-pmu: document WCN6851
> dt-bindings: bluetooth: qcom,wcn6855-bt: document WCN6851
> arm64: dts: qcom: sm8350: expand UART18 to 4 pins config
> arm64: dts: qcom: sm8350: modernize PCIe entries
> arm64: dts: qcom: sm8350-hdk: describe WiFi/BT chip
Before adding new devices, can you (Qcom) fix the all the existing DT
warnings related to QCom WiFi/BT:
6 (qcom,wcn6855-bt): 'vddrfa1p7-supply' is a required property
6 (qcom,wcn6855-bt): Unevaluated properties are not allowed ('vddrfa1p8-supply' was unexpected)
2 (qcom,wcn6855-bt): 'vddwlmx-supply' is a required property
2 (qcom,wcn6855-bt): 'vddwlcx-supply' is a required property
2 (qcom,wcn6855-bt): 'vddbtcmx-supply' is a required property
2 (qcom,wcn6855-bt): 'vddaon-supply' is a required property
2 (pci17cb,1103): 'vddwlmx-supply' is a required property
2 (pci17cb,1103): 'vddwlcx-supply' is a required property
2 (pci17cb,1103): 'vddrfacmn-supply' is a required property
2 (pci17cb,1103): 'vddrfa1p8-supply' is a required property
2 (pci17cb,1103): 'vddrfa1p2-supply' is a required property
2 (pci17cb,1103): 'vddrfa0p8-supply' is a required property
2 (pci17cb,1103): 'vddpcie1p8-supply' is a required property
2 (pci17cb,1103): 'vddpcie0p9-supply' is a required property
2 (pci17cb,1103): 'vddaon-supply' is a required property
Rob
^ permalink raw reply
* [bluez/bluez]
From: BluezTestBot @ 2026-06-08 14:56 UTC (permalink / raw)
To: linux-bluetooth
Branch: refs/heads/1107759
Home: https://github.com/bluez/bluez
To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications
^ permalink raw reply
* [bluez/bluez]
From: BluezTestBot @ 2026-06-08 14:56 UTC (permalink / raw)
To: linux-bluetooth
Branch: refs/heads/1107770
Home: https://github.com/bluez/bluez
To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications
^ permalink raw reply
* [bluez/bluez] 19245b: gatt-client: Add PreferredNotifyType property
From: Šimon Mikuda @ 2026-06-08 14:55 UTC (permalink / raw)
To: linux-bluetooth
Branch: refs/heads/1107894
Home: https://github.com/bluez/bluez
Commit: 19245b27a229da41b4c5f417dc544bbf2f87b46b
https://github.com/bluez/bluez/commit/19245b27a229da41b4c5f417dc544bbf2f87b46b
Author: Simon Mikuda <simon.mikuda@streamunlimited.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M doc/org.bluez.GattCharacteristic.rst
M src/gatt-client.c
M src/shared/gatt-client.c
M src/shared/gatt-client.h
Log Message:
-----------
gatt-client: Add PreferredNotifyType property
When a characteristic supports both notifications and indications the
CCC we always register for notifications, leaving no way to choose
indications from D-Bus.
Add PreferredNotifyType (string, "notification"/"indication") to
org.bluez.GattCharacteristic1, only present when both flags are set.
StartNotify() and AcquireNotify() honor it on the next CCC write.
To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications
^ permalink raw reply
* [bluez/bluez] 3c59a0: device: Fix cache update on device remove
From: fdanis-oss @ 2026-06-08 14:55 UTC (permalink / raw)
To: linux-bluetooth
Branch: refs/heads/1107813
Home: https://github.com/bluez/bluez
Commit: 3c59a00a62750b4a8c78db5334c7275c5cfa7a46
https://github.com/bluez/bluez/commit/3c59a00a62750b4a8c78db5334c7275c5cfa7a46
Author: Frédéric Danis <frederic.danis@collabora.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M src/device.c
Log Message:
-----------
device: Fix cache update on device remove
If there's no other group than the one explicitly removed the length
returned by g_key_file_to_data() will be 0 and currently nothing
will be changed in the device cache file.
If there's nothing to write, remove the device cache file.
To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications
^ permalink raw reply
* [bluez/bluez] f8fd83: avdtp: Add GetConfiguration DBus function
From: Šimon Mikuda @ 2026-06-08 14:55 UTC (permalink / raw)
To: linux-bluetooth
Branch: refs/heads/1107804
Home: https://github.com/bluez/bluez
Commit: f8fd83da41d0f7478ef4748b7aef68f7fab4ea60
https://github.com/bluez/bluez/commit/f8fd83da41d0f7478ef4748b7aef68f7fab4ea60
Author: Simon Mikuda <simon.mikuda@streamunlimited.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M profiles/audio/a2dp.c
M profiles/audio/avdtp.c
M profiles/audio/avdtp.h
Log Message:
-----------
avdtp: Add GetConfiguration DBus function
Change avdtp_get_configuration to accept remote SEP instead of stream a
and add an async callback for response/reject handling; the old function
was not used anywhere (unit-test just copied signature), so it was
changed in place.
Add a GetConfiguration async D-Bus method to the remote SEP interface that
returns the retrieved configuration as a byte array.
This can be used to pass: AVDTP/SRC/INT/SIG/SMG/BV-11-C
Commit: 12ee17f9ca7eab2b4b210e7c2fc004c4e868a9bf
https://github.com/bluez/bluez/commit/12ee17f9ca7eab2b4b210e7c2fc004c4e868a9bf
Author: Simon Mikuda <simon.mikuda@streamunlimited.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M client/player.c
M doc/bluetoothctl-endpoint.rst
M doc/org.bluez.MediaEndpoint.rst
Log Message:
-----------
client/player: Add get-config command
Compare: https://github.com/bluez/bluez/compare/f8fd83da41d0%5E...12ee17f9ca7e
To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications
^ permalink raw reply
* [bluez/bluez] f9278b: avdtp: Fix GET_CONFIGURATION cmd
From: Šimon Mikuda @ 2026-06-08 14:55 UTC (permalink / raw)
To: linux-bluetooth
Branch: refs/heads/1107789
Home: https://github.com/bluez/bluez
Commit: f9278b28dabae5f252432a1a1258477ac8ace703
https://github.com/bluez/bluez/commit/f9278b28dabae5f252432a1a1258477ac8ace703
Author: Simon Mikuda <simon.mikuda@streamunlimited.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M profiles/audio/avdtp.c
Log Message:
-----------
avdtp: Fix GET_CONFIGURATION cmd
This fixes AVDTP/SNK/ACP/SIG/SMG/BV-12-C
Commit: 4db6f6a6d2440bc13d522ae3d66917d8146cc296
https://github.com/bluez/bluez/commit/4db6f6a6d2440bc13d522ae3d66917d8146cc296
Author: Simon Mikuda <simon.mikuda@streamunlimited.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M profiles/audio/avdtp.c
Log Message:
-----------
avdtp: Fix error handling for AVDTP_OPEN cmd
We have to return BAD_STATE when local SEP is available instead of
BAD_ACP_SEID.
This fixes: AVDTP/SNK/ACP/SIG/SMG/BI-26-C
Compare: https://github.com/bluez/bluez/compare/f9278b28daba%5E...4db6f6a6d244
To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox