From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
To: linux-bluetooth@vger.kernel.org
Subject: [PATCH BlueZ v1 0/4] shared/bap: Don't disconnect a CIS still used by another ASE
Date: Tue, 10 Nov 2026 17:18:58 -0500 [thread overview]
Message-ID: <cover.1794349049.git.luiz.von.dentz@intel.com> (raw)
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
A remote initiator, e.g. a phone in a voice call, may enable the Source
ASE of a CIS shared with a Sink ASE and then switch to the Sink ASE
alone. The acceptor disconnected the CIS when the Source ASE detached
from it, although the linked Sink ASE was still configured for it, and
as the initiator does not request the CIS again, the Sink ASE was left
enabled without a CIS and the voice stayed silent.
Keep the CIS while another ASE is still configured for it. Unit tests
cover releasing an ASE of a CIS kept by its link, of a shared CIS and
switching the direction, and a functional test counts the CIS the
acceptor is asked to accept.
Luiz Augusto von Dentz (4):
shared/bap: Don't disconnect a CIS still configured for a link
unit/test-bap: Add tests for a CIS shared by two ASEs
doc/functional-bap: Document switching the direction of a CIS
test: functional: Cover switching the direction of a CIS
doc/functional-bap.rst | 37 ++++++
src/shared/bap.c | 84 +++++++++----
test/functional/test_bap.py | 68 +++++++++++
unit/test-bap.c | 227 ++++++++++++++++++++++++++++++++++++
4 files changed, 391 insertions(+), 25 deletions(-)
--
2.56.0
WARNING: multiple messages have this Message-ID (diff)
From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
To: linux-bluetooth@vger.kernel.org
Subject: [PATCH BlueZ v1 0/8] transport: Hand the owner over to a link still streaming
Date: Tue, 10 Nov 2026 17:19:09 -0500 [thread overview]
Message-ID: <cover.1794349049.git.luiz.von.dentz@intel.com> (raw)
Message-ID: <20261110221909.V_o4NCOadGU_KsLG7tYtTRmeVXqjjtLqY3uqyDpN02A@z> (raw)
In-Reply-To: <cover.1794348982.git.luiz.von.dentz@intel.com>
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
When one ASE of a shared CIS is disabled alone, e.g. a microphone closed
while media keeps playing, the transport leaving streaming took the
owner, and so the state, of its linked transport with it: the audio
server stopped the stream of the other ASE while it kept receiving data.
Hand the owner over to a link still streaming instead (not while the
transport is being released or has a pending request), and clear the
owner of desynchronized links when removing it, which fixes a
use-after-free at teardown. A unit test and functional tests cover it.
This series applies on top of "shared/bap: Don't disconnect a CIS still
used by another ASE" (1-cis-switch), as the unit test reuses the test
helpers added there.
Kannan J (2):
transport: Hand the owner over to a link still streaming
unit/test-bap: Add test for disabling one ASE of a shared CIS
Kannan J (2):
transport: Hand the owner over to a link still streaming
unit/test-bap: Add test for disabling one ASE of a shared CIS
Luiz Augusto von Dentz (6):
transport: Clear the owner of desynchronized links when removing it
transport: Don't hand the owner over while releasing
doc/functional-bap: Document disabling one ASE of a shared owner
test: functional: Cover disabling one ASE of a shared owner
doc/functional-bap: Document releasing a shared owner
test: functional: Cover releasing a shared owner
doc/functional-bap.rst | 58 ++++++++++++++++++++++++
profiles/audio/transport.c | 62 +++++++++++++++++++++++--
test/functional/test_bap.py | 66 +++++++++++++++++++++++++++
unit/test-bap.c | 90 +++++++++++++++++++++++++++++++++++++
4 files changed, 273 insertions(+), 3 deletions(-)
--
2.56.0
next reply other threads:[~2026-11-10 22:19 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-10 22:18 Luiz Augusto von Dentz [this message]
2026-11-10 22:18 ` [PATCH BlueZ v1 1/4] shared/bap: Don't disconnect a CIS still configured for a link Luiz Augusto von Dentz
2026-11-11 4:35 ` shared/bap: Don't disconnect a CIS still used by another ASE bluez.test.bot
2026-11-10 22:19 ` [PATCH BlueZ v1 2/4] unit/test-bap: Add tests for a CIS shared by two ASEs Luiz Augusto von Dentz
2026-11-10 22:19 ` [PATCH BlueZ v1 3/4] doc/functional-bap: Document switching the direction of a CIS Luiz Augusto von Dentz
2026-11-10 22:19 ` [PATCH BlueZ v1 4/4] test: functional: Cover " Luiz Augusto von Dentz
2026-11-10 22:19 ` [PATCH BlueZ v1 0/5] bap: Release cached ASEs on ClearConfiguration Luiz Augusto von Dentz
2026-11-10 22:19 ` [PATCH BlueZ v1 1/5] shared/bap: Add bt_bap_foreach_stream and bt_bap_stream_get_rpac Luiz Augusto von Dentz
2026-11-10 22:19 ` [PATCH BlueZ v1 2/5] bap: Release cached ASEs on ClearConfiguration of an endpoint Luiz Augusto von Dentz
2026-11-10 22:19 ` [PATCH BlueZ v1 3/5] client/player: Add endpoint.clear command Luiz Augusto von Dentz
2026-11-10 22:19 ` [PATCH BlueZ v1 4/5] doc/functional-bap: Document clearing a cached configuration Luiz Augusto von Dentz
2026-11-10 22:19 ` [PATCH BlueZ v1 5/5] test: functional: Cover " Luiz Augusto von Dentz
2026-11-10 22:19 ` [PATCH BlueZ v1 0/8] transport: Hand the owner over to a link still streaming Luiz Augusto von Dentz
2026-11-10 22:19 ` [PATCH BlueZ v1 1/8] " Luiz Augusto von Dentz
2026-11-11 4:23 ` [BlueZ,v1,1/8] " bluez.test.bot
2026-11-10 22:19 ` [PATCH BlueZ v1 2/8] unit/test-bap: Add test for disabling one ASE of a shared CIS Luiz Augusto von Dentz
2026-11-11 3:05 ` [BlueZ,v1,2/8] " bluez.test.bot
2026-11-10 22:19 ` [PATCH BlueZ v1 3/8] transport: Clear the owner of desynchronized links when removing it Luiz Augusto von Dentz
2026-11-10 22:19 ` [PATCH BlueZ v1 4/8] transport: Don't hand the owner over while releasing Luiz Augusto von Dentz
2026-11-11 3:05 ` [BlueZ,v1,4/8] " bluez.test.bot
2026-11-10 22:19 ` [PATCH BlueZ v1 5/8] doc/functional-bap: Document disabling one ASE of a shared owner Luiz Augusto von Dentz
2026-11-10 22:19 ` [PATCH BlueZ v1 6/8] test: functional: Cover " Luiz Augusto von Dentz
2026-11-10 22:19 ` [PATCH BlueZ v1 7/8] doc/functional-bap: Document releasing " Luiz Augusto von Dentz
2026-11-10 22:19 ` [PATCH BlueZ v1 8/8] test: functional: Cover " Luiz Augusto von Dentz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1794349049.git.luiz.von.dentz@intel.com \
--to=luiz.dentz@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox