Linux bluetooth development
 help / color / mirror / Atom feed
diff for duplicates of <cover.1794349049.git.luiz.von.dentz@intel.com>

diff --git a/a/1.txt b/N1/1.txt
index f1053e3..f68be69 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,28 +1,40 @@
 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(-)
+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
diff --git a/a/content_digest b/N1/content_digest
index 93f2a3d..677f7cc 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,36 +1,49 @@
+ "ref\0cover.1794348982.git.luiz.von.dentz@intel.com\0"
  "From\0Luiz Augusto von Dentz <luiz.dentz@gmail.com>\0"
- "Subject\0[PATCH BlueZ v1 0/4] shared/bap: Don't disconnect a CIS still used by another ASE\0"
- "Date\0Tue, 10 Nov 2026 17:18:58 -0500\0"
+ "Subject\0[PATCH BlueZ v1 0/8] transport: Hand the owner over to a link still streaming\0"
+ "Date\0Tue, 10 Nov 2026 17:19:09 -0500\0"
  "To\0linux-bluetooth@vger.kernel.org\0"
  "\00:1\0"
  "b\0"
  "From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>\n"
  "\n"
- "A remote initiator, e.g. a phone in a voice call, may enable the Source\n"
- "ASE of a CIS shared with a Sink ASE and then switch to the Sink ASE\n"
- "alone. The acceptor disconnected the CIS when the Source ASE detached\n"
- "from it, although the linked Sink ASE was still configured for it, and\n"
- "as the initiator does not request the CIS again, the Sink ASE was left\n"
- "enabled without a CIS and the voice stayed silent.\n"
- "\n"
- "Keep the CIS while another ASE is still configured for it. Unit tests\n"
- "cover releasing an ASE of a CIS kept by its link, of a shared CIS and\n"
- "switching the direction, and a functional test counts the CIS the\n"
- "acceptor is asked to accept.\n"
- "\n"
- "Luiz Augusto von Dentz (4):\n"
- "  shared/bap: Don't disconnect a CIS still configured for a link\n"
- "  unit/test-bap: Add tests for a CIS shared by two ASEs\n"
- "  doc/functional-bap: Document switching the direction of a CIS\n"
- "  test: functional: Cover switching the direction of a CIS\n"
- "\n"
- " doc/functional-bap.rst      |  37 ++++++\n"
- " src/shared/bap.c            |  84 +++++++++----\n"
- " test/functional/test_bap.py |  68 +++++++++++\n"
- " unit/test-bap.c             | 227 ++++++++++++++++++++++++++++++++++++\n"
- " 4 files changed, 391 insertions(+), 25 deletions(-)\n"
+ "When one ASE of a shared CIS is disabled alone, e.g. a microphone closed\n"
+ "while media keeps playing, the transport leaving streaming took the\n"
+ "owner, and so the state, of its linked transport with it: the audio\n"
+ "server stopped the stream of the other ASE while it kept receiving data.\n"
+ "\n"
+ "Hand the owner over to a link still streaming instead (not while the\n"
+ "transport is being released or has a pending request), and clear the\n"
+ "owner of desynchronized links when removing it, which fixes a\n"
+ "use-after-free at teardown. A unit test and functional tests cover it.\n"
+ "\n"
+ "This series applies on top of \"shared/bap: Don't disconnect a CIS still\n"
+ "used by another ASE\" (1-cis-switch), as the unit test reuses the test\n"
+ "helpers added there.\n"
+ "\n"
+ "Kannan J (2):\n"
+ "  transport: Hand the owner over to a link still streaming\n"
+ "  unit/test-bap: Add test for disabling one ASE of a shared CIS\n"
+ "\n"
+ "Kannan J (2):\n"
+ "  transport: Hand the owner over to a link still streaming\n"
+ "  unit/test-bap: Add test for disabling one ASE of a shared CIS\n"
+ "\n"
+ "Luiz Augusto von Dentz (6):\n"
+ "  transport: Clear the owner of desynchronized links when removing it\n"
+ "  transport: Don't hand the owner over while releasing\n"
+ "  doc/functional-bap: Document disabling one ASE of a shared owner\n"
+ "  test: functional: Cover disabling one ASE of a shared owner\n"
+ "  doc/functional-bap: Document releasing a shared owner\n"
+ "  test: functional: Cover releasing a shared owner\n"
+ "\n"
+ " doc/functional-bap.rst      | 58 ++++++++++++++++++++++++\n"
+ " profiles/audio/transport.c  | 62 +++++++++++++++++++++++--\n"
+ " test/functional/test_bap.py | 66 +++++++++++++++++++++++++++\n"
+ " unit/test-bap.c             | 90 +++++++++++++++++++++++++++++++++++++\n"
+ " 4 files changed, 273 insertions(+), 3 deletions(-)\n"
  "\n"
  "-- \n"
  2.56.0
 
-0dd8b37d950ed4e1a6dc50314e8e2836640ba1a7180568814bfc25d021f49ac6
+57fa3834239a74653f2ac2c6eed62d4d199e557aa38ed2ea637baac83a4dd360

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