Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH BlueZ 0/1] /bap: Handle CIS loss during streaming
@ 2026-05-11 10:58 raghu447
  2026-05-11 10:58 ` [PATCH BlueZ 1/1] bap: set QOS state when CIS is lost while the state is streaming/enabling raghu447
  0 siblings, 1 reply; 7+ messages in thread
From: raghu447 @ 2026-05-11 10:58 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: raghu447

This patch sets the QOS state when CIS is lost during the streaming.

This is used to pass the PTS tests BAP/USR/SCC/BV-167-C abd BV-168-C.

raghu447 (1):
  bap: set QOS state when CIS is lost while the state is
    streaming/enabling

 src/shared/bap.c | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

-- 
2.43.0


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

* [PATCH BlueZ 1/1] bap: set QOS state when CIS is lost while the state is streaming/enabling
  2026-05-11 10:58 [PATCH BlueZ 0/1] /bap: Handle CIS loss during streaming raghu447
@ 2026-05-11 10:58 ` raghu447
  2026-05-11 14:09   ` Luiz Augusto von Dentz
  2026-05-11 14:28   ` /bap: Handle CIS loss during streaming bluez.test.bot
  0 siblings, 2 replies; 7+ messages in thread
From: raghu447 @ 2026-05-11 10:58 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: raghu447

This is used to Pass PTS tests BAP/USR/SCC/BV-167-C abd BV-168-C.
---
 src/shared/bap.c | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/src/shared/bap.c b/src/shared/bap.c
index 78ba22259..2edd4b249 100644
--- a/src/shared/bap.c
+++ b/src/shared/bap.c
@@ -6670,9 +6670,38 @@ bool bt_bap_match_bcast_sink_stream(const void *data, const void *user_data)
 	return stream->lpac->type == BT_BAP_BCAST_SINK;
 }
 
+static void stream_io_qos_disconnect(struct bt_bap_stream *stream,
+					struct bt_bap_stream_io *io)
+{
+	uint8_t state;
+
+	if (!stream || !stream->ep || stream->io != io)
+		return;
+
+	state = stream->ep->state;
+
+	DBG(stream->bap, "CIS disconnected for stream %p state %u", stream,
+								state);
+
+	if (state != BT_ASCS_ASE_STATE_ENABLING &&
+			state != BT_ASCS_ASE_STATE_STREAMING)
+		return;
+
+	DBG(stream->bap, "Moving ASE %u to QoS Configured after CIS loss",
+							stream->ep->id);
+
+	stream_set_state(stream, BT_BAP_STREAM_STATE_QOS);
+}
+
+static void stream_link_io_qos_disconnect(void *data, void *user_data)
+{
+	stream_io_qos_disconnect(data, user_data);
+}
+
 static bool stream_io_disconnected(struct io *io, void *user_data)
 {
 	struct bt_bap_stream *stream = user_data;
+	struct bt_bap_stream_io *sio;
 
 	DBG(stream->bap, "stream %p io disconnected", stream);
 
@@ -6685,6 +6714,12 @@ static bool stream_io_disconnected(struct io *io, void *user_data)
 		return false;
 	}
 
+	sio = stream->io;
+	if (sio) {
+		stream_io_qos_disconnect(stream, sio);
+		queue_foreach(stream->links, stream_link_io_qos_disconnect, sio);
+	}
+
 	if (stream->ep->state == BT_ASCS_ASE_STATE_RELEASING)
 		stream_set_state(stream, BT_BAP_STREAM_STATE_CONFIG);
 
-- 
2.43.0


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

* Re: [PATCH BlueZ 1/1] bap: set QOS state when CIS is lost while the state is streaming/enabling
  2026-05-11 10:58 ` [PATCH BlueZ 1/1] bap: set QOS state when CIS is lost while the state is streaming/enabling raghu447
@ 2026-05-11 14:09   ` Luiz Augusto von Dentz
  2026-05-13 16:34     ` [PATCH BlueZ v2 0/1] shared/bap: set QoS state when CIS is lost raghu447
  2026-05-11 14:28   ` /bap: Handle CIS loss during streaming bluez.test.bot
  1 sibling, 1 reply; 7+ messages in thread
From: Luiz Augusto von Dentz @ 2026-05-11 14:09 UTC (permalink / raw)
  To: raghu447; +Cc: linux-bluetooth

Hi,

On Mon, May 11, 2026 at 6:59 AM raghu447 <raghavendra.rao@collabora.com> wrote:
>
> This is used to Pass PTS tests BAP/USR/SCC/BV-167-C abd BV-168-C.
> ---
>  src/shared/bap.c | 35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
>
> diff --git a/src/shared/bap.c b/src/shared/bap.c
> index 78ba22259..2edd4b249 100644
> --- a/src/shared/bap.c
> +++ b/src/shared/bap.c
> @@ -6670,9 +6670,38 @@ bool bt_bap_match_bcast_sink_stream(const void *data, const void *user_data)
>         return stream->lpac->type == BT_BAP_BCAST_SINK;
>  }
>
> +static void stream_io_qos_disconnect(struct bt_bap_stream *stream,
> +                                       struct bt_bap_stream_io *io)
> +{
> +       uint8_t state;
> +
> +       if (!stream || !stream->ep || stream->io != io)
> +               return;
> +
> +       state = stream->ep->state;
> +
> +       DBG(stream->bap, "CIS disconnected for stream %p state %u", stream,
> +                                                               state);
> +
> +       if (state != BT_ASCS_ASE_STATE_ENABLING &&
> +                       state != BT_ASCS_ASE_STATE_STREAMING)
> +               return;
> +
> +       DBG(stream->bap, "Moving ASE %u to QoS Configured after CIS loss",
> +                                                       stream->ep->id);
> +
> +       stream_set_state(stream, BT_BAP_STREAM_STATE_QOS);
> +}
> +
> +static void stream_link_io_qos_disconnect(void *data, void *user_data)
> +{
> +       stream_io_qos_disconnect(data, user_data);
> +}
> +
>  static bool stream_io_disconnected(struct io *io, void *user_data)
>  {
>         struct bt_bap_stream *stream = user_data;
> +       struct bt_bap_stream_io *sio;
>
>         DBG(stream->bap, "stream %p io disconnected", stream);
>
> @@ -6685,6 +6714,12 @@ static bool stream_io_disconnected(struct io *io, void *user_data)
>                 return false;
>         }
>
> +       sio = stream->io;
> +       if (sio) {
> +               stream_io_qos_disconnect(stream, sio);
> +               queue_foreach(stream->links, stream_link_io_qos_disconnect, sio);
> +       }
> +

Hmm, this should already been doing by the likes of
bt_bap_stream_set_io(-1) -> bap_stream_set_io -> bap_stream_io_detach,
so perhaps there is something missing there, or perhaps
bap_stream_set_io is not handling all the states.

>         if (stream->ep->state == BT_ASCS_ASE_STATE_RELEASING)
>                 stream_set_state(stream, BT_BAP_STREAM_STATE_CONFIG);
>
> --
> 2.43.0
>
>


-- 
Luiz Augusto von Dentz

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

* RE: /bap: Handle CIS loss during streaming
  2026-05-11 10:58 ` [PATCH BlueZ 1/1] bap: set QOS state when CIS is lost while the state is streaming/enabling raghu447
  2026-05-11 14:09   ` Luiz Augusto von Dentz
@ 2026-05-11 14:28   ` bluez.test.bot
  1 sibling, 0 replies; 7+ messages in thread
From: bluez.test.bot @ 2026-05-11 14:28 UTC (permalink / raw)
  To: linux-bluetooth, raghavendra.rao

[-- Attachment #1: Type: text/plain, Size: 3201 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=1092705

---Test result---

Test Summary:
CheckPatch                    FAIL      0.48 seconds
GitLint                       FAIL      0.33 seconds
BuildEll                      PASS      20.02 seconds
BluezMake                     PASS      607.34 seconds
MakeCheck                     PASS      12.70 seconds
MakeDistcheck                 PASS      232.61 seconds
CheckValgrind                 PASS      253.53 seconds
CheckSmatch                   WARNING   323.06 seconds
bluezmakeextell               PASS      164.34 seconds
IncrementalBuild              PASS      607.15 seconds
ScanBuild                     PASS      915.09 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script
Output:
[BlueZ,1/1] bap: set QOS state when CIS is lost while the state is streaming/enabling
WARNING:LONG_LINE: line length of 81 exceeds 80 columns
#126: FILE: src/shared/bap.c:6720:
+		queue_foreach(stream->links, stream_link_io_qos_disconnect, sio);

/github/workspace/src/patch/14565299.patch total: 0 errors, 1 warnings, 50 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/patch/14565299.patch has style problems, please review.

NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPDX_LICENSE_TAG SPLIT_STRING SSCANF_TO_KSTRTO

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.


##############################
Test: GitLint - FAIL
Desc: Run gitlint
Output:
[BlueZ,1/1] bap: set QOS state when CIS is lost while the state is streaming/enabling

WARNING: I3 - ignore-body-lines: gitlint will be switching from using Python regex 'match' (match beginning) to 'search' (match anywhere) semantics. Please review your ignore-body-lines.regex option accordingly. To remove this warning, set general.regex-style-search=True. More details: https://jorisroovers.github.io/gitlint/configuration/#regex-style-search
1: T1 Title exceeds max length (85>80): "[BlueZ,1/1] bap: set QOS state when CIS is lost while the state is streaming/enabling"
##############################
Test: CheckSmatch - WARNING
Desc: Run smatch tool with source
Output:
src/shared/bap.c:312:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structuressrc/shared/bap.c:312:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structuressrc/shared/bap.c:312:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structures


https://github.com/bluez/bluez/pull/2116

---
Regards,
Linux Bluetooth


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

* [PATCH BlueZ v2 0/1] shared/bap: set QoS state when CIS is lost
  2026-05-11 14:09   ` Luiz Augusto von Dentz
@ 2026-05-13 16:34     ` raghu447
  2026-05-13 16:34       ` [PATCH BlueZ v2 1/1] " raghu447
  0 siblings, 1 reply; 7+ messages in thread
From: raghu447 @ 2026-05-13 16:34 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: raghu447

This is used to pass PTS tests BAP/USR/SCC/BV-167-C and BAP/USR/SCC/BV-168-C.

raghavendra (1):
  shared/bap: set QoS state when CIS is lost

 src/shared/bap.c | 4 ++++
 1 file changed, 4 insertions(+)

-- 
2.43.0


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

* [PATCH BlueZ v2 1/1] shared/bap: set QoS state when CIS is lost
  2026-05-13 16:34     ` [PATCH BlueZ v2 0/1] shared/bap: set QoS state when CIS is lost raghu447
@ 2026-05-13 16:34       ` raghu447
  2026-05-13 18:22         ` bluez.test.bot
  0 siblings, 1 reply; 7+ messages in thread
From: raghu447 @ 2026-05-13 16:34 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: raghavendra

From: raghavendra <raghavendra.rao@collabora.com>

This is used to pass PTS tests BAP/USR/SCC/BV-167-C and BAP/USR/SCC/BV-168-C.
---
 src/shared/bap.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/shared/bap.c b/src/shared/bap.c
index 78ba22259..60710a806 100644
--- a/src/shared/bap.c
+++ b/src/shared/bap.c
@@ -3028,6 +3028,10 @@ static void bap_stream_set_io(void *data, void *user_data)
 		else
 			bt_bap_stream_start(stream, NULL, NULL);
 		break;
+	case BT_BAP_STREAM_STATE_STREAMING:
+		if (fd < 0)
+			stream_set_state(stream, BT_BAP_STREAM_STATE_QOS);
+		break;
 	case BT_BAP_STREAM_STATE_DISABLING:
 		if (fd < 0)
 			bt_bap_stream_stop(stream, NULL, NULL);
-- 
2.43.0


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

* RE: shared/bap: set QoS state when CIS is lost
  2026-05-13 16:34       ` [PATCH BlueZ v2 1/1] " raghu447
@ 2026-05-13 18:22         ` bluez.test.bot
  0 siblings, 0 replies; 7+ messages in thread
From: bluez.test.bot @ 2026-05-13 18:22 UTC (permalink / raw)
  To: linux-bluetooth, raghavendra.rao

[-- Attachment #1: Type: text/plain, Size: 2549 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=1094333

---Test result---

Test Summary:
CheckPatch                    FAIL      0.39 seconds
GitLint                       PASS      0.28 seconds
BuildEll                      PASS      20.27 seconds
BluezMake                     PASS      610.55 seconds
MakeCheck                     PASS      12.68 seconds
MakeDistcheck                 PASS      234.89 seconds
CheckValgrind                 PASS      254.42 seconds
CheckSmatch                   WARNING   321.72 seconds
bluezmakeextell               PASS      164.59 seconds
IncrementalBuild              PASS      609.76 seconds
ScanBuild                     PASS      913.46 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script
Output:
[BlueZ,v2,1/1] shared/bap: set QoS state when CIS is lost
WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#74: 
This is used to pass PTS tests BAP/USR/SCC/BV-167-C and BAP/USR/SCC/BV-168-C.

/github/workspace/src/patch/14571723.patch total: 0 errors, 1 warnings, 10 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/patch/14571723.patch has style problems, please review.

NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPDX_LICENSE_TAG SPLIT_STRING SSCANF_TO_KSTRTO

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.


##############################
Test: CheckSmatch - WARNING
Desc: Run smatch tool with source
Output:
src/shared/bap.c:312:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structuressrc/shared/bap.c:312:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structuressrc/shared/bap.c:312:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structures


https://github.com/bluez/bluez/pull/2124

---
Regards,
Linux Bluetooth


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

end of thread, other threads:[~2026-05-13 18:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-11 10:58 [PATCH BlueZ 0/1] /bap: Handle CIS loss during streaming raghu447
2026-05-11 10:58 ` [PATCH BlueZ 1/1] bap: set QOS state when CIS is lost while the state is streaming/enabling raghu447
2026-05-11 14:09   ` Luiz Augusto von Dentz
2026-05-13 16:34     ` [PATCH BlueZ v2 0/1] shared/bap: set QoS state when CIS is lost raghu447
2026-05-13 16:34       ` [PATCH BlueZ v2 1/1] " raghu447
2026-05-13 18:22         ` bluez.test.bot
2026-05-11 14:28   ` /bap: Handle CIS loss during streaming bluez.test.bot

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