Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH BlueZ v2 0/6] Fix linked transports of an ASE not enabled yet
@ 2026-11-02 21:54 Luiz Augusto von Dentz
  2026-11-02 21:54 ` [PATCH BlueZ v2 1/6] client/scripts: Add bap-duplex-lc3.bt Luiz Augusto von Dentz
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Luiz Augusto von Dentz @ 2026-11-02 21:54 UTC (permalink / raw)
  To: linux-bluetooth

From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

When acting as an acceptor, a remote initiator may enable only one ASE of
a bidirectional CIS first, e.g. a phone in a voice call enabling the
Source ASE of a headset before its Sink ASE. Once the CIS is established,
the transport of the Sink ASE, still in QoS Configured, was set pending
along with its link, so an audio server would acquire it and either get
NotAuthorized, failing the working link as well, or have it made active
through the link while its ASE is not enabled.

Likewise, once both ASEs were acquired on their own, disabling one of
them set the transport of the other idle and disabled its ASE as well,
stopping the other direction.

The first patches add a functional test reproducing this, using the
Desynchronized property of an initiator in testing mode to enable and
disable each ASE separately, and the last ones fix it by only updating
the state and owner of a link once its ASE is enabled when acting as a
server, and by leaving links acquired on their own, or desynchronized,
alone when a transport is released.

This depends on "test: functional: wait for BAP transports to be
configured", which bluetoothctl needs before it can acquire the
transports of the test.

Changes in v2:
 - test: functional: Cover enabling one ASE of a bidirectional CIS:
   drive the tests through bluetoothctl (transport.desync, acquire,
   release and show) rather than calling the D-Bus methods directly,
   so the sequence can be reproduced by hand with the same script.
   This also fixes the tests failing on setup with a NameError, as v1
   used a test helper without declaring the dependency above.
 - client/scripts: Add bap-duplex-lc3.bt: describe how to enable and
   disable each direction on its own with bluetoothctl.
 - doc/functional-bap: Document the duplex unicast test cases: list the
   bluetoothctl commands in the steps.
 - No changes to the other patches.

Luiz Augusto von Dentz (6):
  client/scripts: Add bap-duplex-lc3.bt
  doc/functional-bap: Document the duplex unicast test cases
  test: functional: Cover enabling one ASE of a bidirectional CIS
  shared/bap: Add bt_bap_stream_is_client
  transport: Don't set linked transports pending before they are enabled
  transport: Don't disable desynchronized links on release

 client/scripts/bap-duplex-lc3.bt |  53 +++++++++++
 doc/functional-bap.rst           | 112 +++++++++++++++++++++++
 profiles/audio/transport.c       |  95 +++++++++++++++++++-
 src/shared/bap.c                 |   8 ++
 src/shared/bap.h                 |   2 +
 test/functional/test_bap.py      | 147 +++++++++++++++++++++++++++++++
 6 files changed, 414 insertions(+), 3 deletions(-)
 create mode 100644 client/scripts/bap-duplex-lc3.bt

-- 
2.56.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-11-03 16:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-02 21:54 [PATCH BlueZ v2 0/6] Fix linked transports of an ASE not enabled yet Luiz Augusto von Dentz
2026-11-02 21:54 ` [PATCH BlueZ v2 1/6] client/scripts: Add bap-duplex-lc3.bt Luiz Augusto von Dentz
2026-11-03  2:04   ` Fix linked transports of an ASE not enabled yet bluez.test.bot
2026-11-02 21:54 ` [PATCH BlueZ v2 2/6] doc/functional-bap: Document the duplex unicast test cases Luiz Augusto von Dentz
2026-11-02 21:54 ` [PATCH BlueZ v2 3/6] test: functional: Cover enabling one ASE of a bidirectional CIS Luiz Augusto von Dentz
2026-11-02 21:54 ` [PATCH BlueZ v2 4/6] shared/bap: Add bt_bap_stream_is_client Luiz Augusto von Dentz
2026-11-02 21:54 ` [PATCH BlueZ v2 5/6] transport: Don't set linked transports pending before they are enabled Luiz Augusto von Dentz
2026-11-02 21:54 ` [PATCH BlueZ v2 6/6] transport: Don't disable desynchronized links on release Luiz Augusto von Dentz
2026-11-03 16:30 ` [PATCH BlueZ v2 0/6] Fix linked transports of an ASE not enabled yet patchwork-bot+bluetooth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox