* [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