Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH BlueZ v1 0/4] CS: Add create_context support
@ 2026-07-17 13:34 Naga Bhavani Akella
  2026-07-17 13:35 ` [PATCH BlueZ v1 1/4] shared: Add create_context CS config parameter Naga Bhavani Akella
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Naga Bhavani Akella @ 2026-07-17 13:34 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: luiz.dentz, quic_mohamull, quic_hbandi, quic_anubhavg,
	Naga Bhavani Akella

This series adds end-to-end support for the create_context parameter
across the shared, profile, and bluetoothctl layers, allowing users to
control the Create_Context behavior from bluetoothctl and propagating
the setting down to the HCI command.

In addition, the series improves CS state handling by transitioning to
CS_STATE_HOLD on HCI command transmission failures and non-zero command
completion statuses, reserving CS_STATE_STOPPED for the expected
procedure termination indicated by a Procedure Enable Complete event
with state == 0x00.

Finally, the series updates the license headers in cs.c and cs.h and
removes the RangingInterface-related code for now, as the interface is
still under discussion.

Naga Bhavani Akella (4):
  shared: Add create_context CS config parameter
  profiles: Add create_context param as part of CS Create Config cmd
  client: Add create_context CS config parameter
  doc: Document create_context in bluetoothctl-cs.rst

 client/cs.c                | 109 ++++++-------------------------------
 client/cs.h                |   2 +-
 doc/bluetoothctl-cs.rst    |  18 ++++++
 profiles/ranging/rap.c     |   1 +
 profiles/ranging/rap_hci.c |  42 ++++++++------
 src/shared/cs-types.h      |   1 +
 6 files changed, 64 insertions(+), 109 deletions(-)

-- 


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

* [PATCH BlueZ v1 1/4] shared: Add create_context CS config parameter
  2026-07-17 13:34 [PATCH BlueZ v1 0/4] CS: Add create_context support Naga Bhavani Akella
@ 2026-07-17 13:35 ` Naga Bhavani Akella
  2026-07-17 15:06   ` CS: Add create_context support bluez.test.bot
  2026-07-17 13:35 ` [PATCH BlueZ v1 2/4] profiles: Add create_context param as part of CS Create Config cmd Naga Bhavani Akella
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 6+ messages in thread
From: Naga Bhavani Akella @ 2026-07-17 13:35 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: luiz.dentz, quic_mohamull, quic_hbandi, quic_anubhavg,
	Naga Bhavani Akella

Add create_context in bt_rap_le_cs_config structure
---
 src/shared/cs-types.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/shared/cs-types.h b/src/shared/cs-types.h
index 0d53d4ab8..f894f8796 100644
--- a/src/shared/cs-types.h
+++ b/src/shared/cs-types.h
@@ -10,6 +10,7 @@
 #include <stdint.h>
 
 struct bt_rap_le_cs_config {
+	uint8_t create_context;
 	uint8_t config_id;
 	uint8_t main_mode_type;
 	uint8_t sub_mode_type;
-- 


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

* [PATCH BlueZ v1 2/4] profiles: Add create_context param as part of CS Create Config cmd
  2026-07-17 13:34 [PATCH BlueZ v1 0/4] CS: Add create_context support Naga Bhavani Akella
  2026-07-17 13:35 ` [PATCH BlueZ v1 1/4] shared: Add create_context CS config parameter Naga Bhavani Akella
@ 2026-07-17 13:35 ` Naga Bhavani Akella
  2026-07-17 13:35 ` [PATCH BlueZ v1 3/4] client: Add create_context CS config parameter Naga Bhavani Akella
  2026-07-17 13:35 ` [PATCH BlueZ v1 4/4] doc: Document create_context in bluetoothctl-cs.rst Naga Bhavani Akella
  3 siblings, 0 replies; 6+ messages in thread
From: Naga Bhavani Akella @ 2026-07-17 13:35 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: luiz.dentz, quic_mohamull, quic_hbandi, quic_anubhavg,
	Naga Bhavani Akella

- Add the create_context field to the CS Create Config command.
- Route HCI command-send failures and non-zero-status completion
events to CS_STATE_HOLD instead of CS_STATE_STOPPED.
reserving CS_STATE_STOPPED for the clean/expected
stop (Procedure Enable Complete with state == 0x00)
---
 profiles/ranging/rap.c     |  1 +
 profiles/ranging/rap_hci.c | 42 +++++++++++++++++++++++---------------
 2 files changed, 26 insertions(+), 17 deletions(-)

diff --git a/profiles/ranging/rap.c b/profiles/ranging/rap.c
index 3ffc0da76..082c35558 100644
--- a/profiles/ranging/rap.c
+++ b/profiles/ranging/rap.c
@@ -337,6 +337,7 @@ struct cs_dict_param_desc {
 static const struct cs_dict_param_desc cs_dict_param_table[] = {
 	CS_SETTINGS_FIELD("role", role),
 	CS_SETTINGS_FIELD("sync_ant_sel", cs_sync_ant_sel),
+	CS_CFG_FIELD("create_context", create_context),
 	CS_CFG_FIELD("config_id", config_id),
 	CS_CFG_FIELD("main_mode_type", main_mode_type),
 	CS_CFG_FIELD("sub_mode_type", sub_mode_type),
diff --git a/profiles/ranging/rap_hci.c b/profiles/ranging/rap_hci.c
index e57f967a2..58ccf87bf 100644
--- a/profiles/ranging/rap_hci.c
+++ b/profiles/ranging/rap_hci.c
@@ -282,6 +282,7 @@ static void cs_state_machine_init(struct cs_state_machine *sm,
 	sm->cs_opt.max_tx_power    = max_tx_power;
 	sm->cs_opt.rtt_type        = 0;
 
+	sm->cs_config.create_context          = 0x01;
 	sm->cs_config.config_id              = 0;
 	sm->cs_config.main_mode_type         = 0x01;
 	sm->cs_config.sub_mode_type          = 0xFF;
@@ -459,7 +460,12 @@ static void rap_send_hci_cs_create_config_command(struct cs_state_machine *sm,
 
 	memset(&cmd, 0, sizeof(cmd));
 	cmd.handle = cpu_to_le16(handle);
-	cmd.create_context = 0x01; /* Initiates cs config procedure */
+
+	/* 0x00: write config to the local Controller only.
+	 * 0x01: write config to both local and remote Controllers using
+	 * the CS Configuration procedure.
+	 */
+	cmd.create_context = sm->cs_config.create_context;
 
 	cmd.config_id              = sm->cs_config.config_id;
 	cmd.main_mode_type         = sm->cs_config.main_mode_type;
@@ -483,7 +489,7 @@ static void rap_send_hci_cs_create_config_command(struct cs_state_machine *sm,
 
 	if (!status) {
 		error("Failed to send CS Create Config command");
-		cs_set_state(sm, CS_STATE_STOPPED);
+		cs_set_state(sm, CS_STATE_HOLD);
 		return;
 	}
 
@@ -530,10 +536,10 @@ static void rap_def_settings_done_cb(const void *data, uint8_t size,
 			DBG("Reflector role: Waiting for CS Config Completed");
 		}
 	} else {
-		/* Error - transition to stopped */
+		/* Error - transition to hold */
 		error("CS Set default setting failed with status 0x%02X",
 		rp->status);
-		cs_set_state(sm, CS_STATE_STOPPED);
+		cs_set_state(sm, CS_STATE_HOLD);
 	}
 }
 
@@ -559,7 +565,7 @@ static void rap_send_hci_cs_remove_config_command(struct cs_state_machine *sm,
 
 	if (!status) {
 		error("Failed to send CS Remove Config command");
-		cs_set_state(sm, CS_STATE_STOPPED);
+		cs_set_state(sm, CS_STATE_HOLD);
 		return;
 	}
 
@@ -587,7 +593,7 @@ static void rap_send_hci_cs_security_enable_command(
 
 	if (!status) {
 		error("Failed to send CS Security Enable command");
-		cs_set_state(sm, CS_STATE_STOPPED);
+		cs_set_state(sm, CS_STATE_HOLD);
 		return;
 	}
 
@@ -751,7 +757,7 @@ static void rap_rd_rem_fae_cmplt_evt(const void *data, uint8_t size,
 		}
 		error("Remote FAE Table read failed with status 0x%02X",
 			evt->status);
-		cs_set_state(sm, CS_STATE_STOPPED);
+		cs_set_state(sm, CS_STATE_HOLD);
 		return;
 	}
 
@@ -838,7 +844,7 @@ static void rap_rd_rmt_supp_cap_cmplt_evt(const void *data, uint8_t size,
 	if (evt->status != 0) {
 		error("Remote capabilities failed with status 0x%02X",
 			evt->status);
-		cs_set_state(sm, CS_STATE_STOPPED);
+		cs_set_state(sm, CS_STATE_HOLD);
 		return;
 	}
 
@@ -920,7 +926,7 @@ static void rap_cs_config_cmplt_evt(const void *data, uint8_t size,
 			error("CS Config Remove failed with status 0x%02X",
 				evt->status);
 		}
-		cs_set_state(sm, CS_STATE_STOPPED);
+		cs_set_state(sm, CS_STATE_HOLD);
 		return;
 	}
 
@@ -977,14 +983,14 @@ static void rap_cs_config_cmplt_evt(const void *data, uint8_t size,
 		mapping = find_mapping_by_handle(sm, evt->handle);
 		if (!mapping || !mapping->is_central) {
 			error("CS Security Enable skipped: not BLE Central");
-			cs_set_state(sm, CS_STATE_STOPPED);
+			cs_set_state(sm, CS_STATE_HOLD);
 			return;
 		}
 
 		if (bt_att_get_security(mapping->att, NULL) <
 						BT_ATT_SECURITY_MEDIUM) {
 			error("CS Security Enable skipped: not encrypted");
-			cs_set_state(sm, CS_STATE_STOPPED);
+			cs_set_state(sm, CS_STATE_HOLD);
 			return;
 		}
 
@@ -1052,7 +1058,7 @@ static void rap_cs_sec_enable_cmplt_evt(const void *data, uint8_t size,
 			if (!rap_send_hci_cs_set_procedure_parameters(
 							sm, handle)) {
 				error("Failed to send CS Set Procedure Params");
-				cs_set_state(sm, CS_STATE_STOPPED);
+				cs_set_state(sm, CS_STATE_HOLD);
 				return;
 			}
 
@@ -1060,7 +1066,7 @@ static void rap_cs_sec_enable_cmplt_evt(const void *data, uint8_t size,
 			if (!rap_send_hci_cs_procedure_enable(sm, handle,
 								      true)) {
 				error("Failed to send CS Procedure Enable");
-				cs_set_state(sm, CS_STATE_STOPPED);
+				cs_set_state(sm, CS_STATE_HOLD);
 				return;
 			}
 		} else {
@@ -1068,10 +1074,10 @@ static void rap_cs_sec_enable_cmplt_evt(const void *data, uint8_t size,
 			DBG("Reflector role: Waiting for CS Proc compl event");
 		}
 	} else {
-		/* Error - transition to stopped */
+		/* Error - transition to hold */
 		error("Security enable failed with status 0x%02X",
 			rap_ev.status);
-		cs_set_state(sm, CS_STATE_STOPPED);
+		cs_set_state(sm, CS_STATE_HOLD);
 	}
 
 	/* Send callback to RAP Profile */
@@ -1097,7 +1103,8 @@ static void rap_cs_proc_enable_cmplt_evt(const void *data, uint8_t size,
 	DBG("size=0x%02X", size);
 
 	if ((cs_get_current_state(sm) != CS_STATE_WAIT_PROC_CMPLT) &&
-		(cs_get_current_state(sm) != CS_STATE_STARTED)) {
+		(cs_get_current_state(sm) != CS_STATE_STARTED) &&
+		(cs_get_current_state(sm) != CS_STATE_STOPPED)) {
 		DBG("Event received in Wrong State!! ");
 		DBG("Expected : CS_STATE_WAIT_PROC_CMPLT");
 		return;
@@ -1116,7 +1123,7 @@ static void rap_cs_proc_enable_cmplt_evt(const void *data, uint8_t size,
 	if (evt->status != 0) {
 		error("Procedure enable failed with status 0x%02X",
 			evt->status);
-		cs_set_state(sm, CS_STATE_STOPPED);
+		cs_set_state(sm, CS_STATE_HOLD);
 		sm->procedure_active = false;
 		if (sm->proc_active_func)
 			sm->proc_active_func(false, sm->proc_active_data);
@@ -1816,6 +1823,7 @@ void bt_rap_clear_conn_handle(void *hci_sm, uint16_t handle)
 	DBG("Clearing connection mapping: handle=0x%04X", handle);
 	remove_conn_mapping(sm, handle);
 	sm->procedure_active = false;
+	sm->current_state = CS_STATE_UNSPECIFIED;
 }
 
 bool bt_rap_is_procedure_active(void *hci_sm)
-- 


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

* [PATCH BlueZ v1 3/4] client: Add create_context CS config parameter
  2026-07-17 13:34 [PATCH BlueZ v1 0/4] CS: Add create_context support Naga Bhavani Akella
  2026-07-17 13:35 ` [PATCH BlueZ v1 1/4] shared: Add create_context CS config parameter Naga Bhavani Akella
  2026-07-17 13:35 ` [PATCH BlueZ v1 2/4] profiles: Add create_context param as part of CS Create Config cmd Naga Bhavani Akella
@ 2026-07-17 13:35 ` Naga Bhavani Akella
  2026-07-17 13:35 ` [PATCH BlueZ v1 4/4] doc: Document create_context in bluetoothctl-cs.rst Naga Bhavani Akella
  3 siblings, 0 replies; 6+ messages in thread
From: Naga Bhavani Akella @ 2026-07-17 13:35 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: luiz.dentz, quic_mohamull, quic_hbandi, quic_anubhavg,
	Naga Bhavani Akella

- Add the create_context field to the CS config parameter table so
bluetoothctl can control whether cs.start writes the CS configuration
to the local Controller only (0x00) or to both local and remote
Controllers via the CS Configuration procedure (0x01), matching the
Create_Context field of the LE CS Create Config HCI command
- Change the license in cs.c and cs.h.
- Drop RangingInterface support for now,
as it is still under discussion.
---
 client/cs.c | 109 +++++++++-------------------------------------------
 client/cs.h |   2 +-
 2 files changed, 19 insertions(+), 92 deletions(-)

diff --git a/client/cs.c b/client/cs.c
index 89251b502..9f069589d 100644
--- a/client/cs.c
+++ b/client/cs.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: LGPL-2.1-or-later
+// SPDX-License-Identifier: GPL-2.0-or-later
 /*
  *  BlueZ - Bluetooth protocol stack for Linux
  *
@@ -25,21 +25,6 @@
 
 static GList * cs_proxies;
 static GList **cs_device_list;
-static DBusConnection *dbus_conn;
-
-#define RANGING_INTERFACE "org.bluez.ChannelSoundingRanging1"
-#define RANGE_ESTIMATE     "RangeEstimate"
-
-/* One signal watch per device proxy, so each device's RangeEstimate
- * watch can be independently added/removed instead of clobbering a
- * single shared handle.
- */
-struct cs_watch {
-	GDBusProxy *proxy;
-	guint watch_id;
-};
-
-static GList *cs_watches;
 
 /* ---- Per-device active session ---- */
 
@@ -58,6 +43,7 @@ static uint8_t cs_sync_ant    = 0xFF;
 static int8_t  cs_max_tx_power = 0x14;
 
 static struct {
+	uint8_t create_context;
 	uint8_t config_id;
 	uint8_t main_mode_type;
 	uint8_t sub_mode_type;
@@ -75,6 +61,7 @@ static struct {
 	uint8_t channel_jump;
 	uint8_t companion_signal_enable;
 } cs_cfg = {
+	.create_context          = 0x01,
 	.config_id               = 0x00,
 	.main_mode_type          = 0x01,
 	.sub_mode_type           = 0xFF,
@@ -138,6 +125,10 @@ struct cs_param_desc {
 };
 
 static const struct cs_param_desc cs_param_table[] = {
+	{ .name = "create_context", .type = CS_PARAM_U8_RANGE,
+		.field = &cs_cfg.create_context, .min = 0, .max = 1,
+		.range_error = "create_context: 0x00=local only"
+				" 0x01=local and remote\n" },
 	{ .name = "sync_ant_sel", .type = CS_PARAM_U8, .field = &cs_sync_ant },
 	{ .name = "config_id", .type = CS_PARAM_U8,
 		.field = &cs_cfg.config_id },
@@ -195,74 +186,14 @@ static const struct cs_param_desc cs_param_table[] = {
 		.field = &cs_freq.snr_control_reflector },
 };
 
-static gboolean range_estimate_cb(DBusConnection *connection,
-					DBusMessage *msg, void *user_data)
-{
-	GDBusProxy *proxy = user_data;
-	DBusMessageIter iter;
-	double distance;
-	uint8_t confidence;
-
-	if (!dbus_message_iter_init(msg, &iter))
-		return TRUE;
-
-	if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_DOUBLE)
-		return TRUE;
-
-	dbus_message_iter_get_basic(&iter, &distance);
-	dbus_message_iter_next(&iter);
-
-	if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_BYTE)
-		return TRUE;
-
-	dbus_message_iter_get_basic(&iter, &confidence);
-
-	bt_shell_printf("[CS] %s Distance: %.3f m  Confidence: %u%%\n",
-			g_dbus_proxy_get_path(proxy), distance, confidence);
-
-	return TRUE;
-}
-
-static struct cs_watch *cs_find_watch(GDBusProxy *proxy)
-{
-	struct cs_watch *w;
-	GList *list;
-
-	for (list = g_list_first(cs_watches); list; list = g_list_next(list)) {
-		w = list->data;
-
-		if (w->proxy == proxy)
-			return w;
-	}
-
-	return NULL;
-}
-
 void cs_proxy_added(GDBusProxy *proxy)
 {
-	struct cs_watch *w;
-
 	cs_proxies = g_list_append(cs_proxies, proxy);
-
-	if (!dbus_conn)
-		dbus_conn = bt_shell_get_env("DBUS_CONNECTION");
-
-	if (!dbus_conn)
-		return;
-
-	w = g_new0(struct cs_watch, 1);
-	w->proxy = proxy;
-	w->watch_id = g_dbus_add_signal_watch(dbus_conn, NULL,
-					g_dbus_proxy_get_path(proxy),
-					RANGING_INTERFACE, RANGE_ESTIMATE,
-					range_estimate_cb, proxy, NULL);
-	cs_watches = g_list_append(cs_watches, w);
 }
 
 void cs_proxy_removed(GDBusProxy *proxy)
 {
 	struct cs_session *s;
-	struct cs_watch *w;
 	GList *list;
 
 	cs_proxies = g_list_remove(cs_proxies, proxy);
@@ -277,13 +208,6 @@ void cs_proxy_removed(GDBusProxy *proxy)
 			break;
 		}
 	}
-
-	w = cs_find_watch(proxy);
-	if (w) {
-		g_dbus_remove_watch(dbus_conn, w->watch_id);
-		cs_watches = g_list_remove(cs_watches, w);
-		g_free(w);
-	}
 }
 
 /* Drop any active CS session for a device proxy path on disconnect. */
@@ -506,6 +430,8 @@ static void start_measurement_setup(DBusMessageIter *iter, void *user_data)
 	dict_append_byte(&dict, "max_tx_power",    tx);
 
 	/* CS config */
+	dict_append_byte(&dict, "create_context",
+			 cs_cfg.create_context);
 	dict_append_byte(&dict, "config_id",
 			 cs_cfg.config_id);
 	dict_append_byte(&dict, "main_mode_type",
@@ -951,6 +877,9 @@ static void cmd_cs_show(int argc, char *argv[])
 	bt_shell_printf("  max_tx_power   : %d dBm\n", cs_max_tx_power);
 
 	bt_shell_printf("\n=== CS Config Params ===\n");
+	bt_shell_printf("  create_context          : %u"
+			" (0=local only 1=local+remote)\n",
+			cs_cfg.create_context);
 	bt_shell_printf("  config_id               : %u\n",
 			cs_cfg.config_id);
 	bt_shell_printf("  main_mode_type          : 0x%02x\n",
@@ -1051,6 +980,12 @@ static const struct bt_shell_menu cs_menu = {
 				"Max TX power in dBm, signed (default 20)" },
 	{ "config_id", "<value>", cmd_cs_set,
 				"CS configuration identifier (default 0)" },
+	{ "create_context", "<0|1>", cmd_cs_set,
+				"0x00 writes the CS config to the local"
+				" Controller only; 0x01 also writes it to"
+				" the remote Controller via the CS"
+				" Configuration procedure (default 1)",
+				cs_bool_generator },
 	{ "main_mode_type", "<1|2|3>", cmd_cs_set,
 				"1 Mode 1 (RTT), 2 Mode 2 (PBR), 3 Both"
 				" (default 1)",
@@ -1144,14 +1079,6 @@ void cs_remove_submenu(void)
 	g_list_free_full(cs_sessions, g_free);
 	cs_sessions = NULL;
 
-	while (cs_watches) {
-		struct cs_watch *w = cs_watches->data;
-
-		g_dbus_remove_watch(dbus_conn, w->watch_id);
-		cs_watches = g_list_remove(cs_watches, w);
-		g_free(w);
-	}
-
 	g_list_free(cs_proxies);
 	cs_proxies = NULL;
 }
diff --git a/client/cs.h b/client/cs.h
index 8902c8143..243d2a72b 100644
--- a/client/cs.h
+++ b/client/cs.h
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: LGPL-2.1-or-later
+// SPDX-License-Identifier: GPL-2.0-or-later
 /*
  *  BlueZ - Bluetooth protocol stack for Linux
  *
-- 


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

* [PATCH BlueZ v1 4/4] doc: Document create_context in bluetoothctl-cs.rst
  2026-07-17 13:34 [PATCH BlueZ v1 0/4] CS: Add create_context support Naga Bhavani Akella
                   ` (2 preceding siblings ...)
  2026-07-17 13:35 ` [PATCH BlueZ v1 3/4] client: Add create_context CS config parameter Naga Bhavani Akella
@ 2026-07-17 13:35 ` Naga Bhavani Akella
  3 siblings, 0 replies; 6+ messages in thread
From: Naga Bhavani Akella @ 2026-07-17 13:35 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: luiz.dentz, quic_mohamull, quic_hbandi, quic_anubhavg,
	Naga Bhavani Akella

Document the new create_context parameter introduced in client/cs.c.
---
 doc/bluetoothctl-cs.rst | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/doc/bluetoothctl-cs.rst b/doc/bluetoothctl-cs.rst
index bbc1d8565..e49b4ea08 100644
--- a/doc/bluetoothctl-cs.rst
+++ b/doc/bluetoothctl-cs.rst
@@ -191,6 +191,24 @@ Get/set the CS configuration identifier.
 :Example Set config id to 1:
 	| **> config_id 1**
 
+create_context
+--------------
+
+Get/set where the CS configuration is written when **cs.start** sends
+it to the Controller.
+
+:Usage: **> create_context [0|1]**
+:[0|1]: ``0x00`` write the configuration to the local Controller only;
+        ``0x01`` also write it to the remote Controller using the CS
+        Configuration procedure (optional, shows current if omitted;
+        default ``1``)
+:Example Show current value:
+	| **> create_context**
+:Example Write the configuration to the local Controller only:
+	| **> create_context 0**
+:Example Write the configuration to both local and remote Controllers:
+	| **> create_context 1**
+
 main_mode_type
 --------------
 
-- 


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

* RE: CS: Add create_context support
  2026-07-17 13:35 ` [PATCH BlueZ v1 1/4] shared: Add create_context CS config parameter Naga Bhavani Akella
@ 2026-07-17 15:06   ` bluez.test.bot
  0 siblings, 0 replies; 6+ messages in thread
From: bluez.test.bot @ 2026-07-17 15:06 UTC (permalink / raw)
  To: linux-bluetooth, naga.akella

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

---Test result---

Test Summary:
CheckPatch                    PASS      1.93 seconds
GitLint                       FAIL      1.31 seconds
BuildEll                      PASS      20.56 seconds
BluezMake                     PASS      539.63 seconds
MakeCheck                     PASS      18.60 seconds
MakeDistcheck                 PASS      159.70 seconds
CheckValgrind                 PASS      230.06 seconds
CheckSmatch                   PASS      312.23 seconds
bluezmakeextell               PASS      102.37 seconds
IncrementalBuild              PASS      557.25 seconds
ScanBuild                     PASS      974.91 seconds

Details
##############################
Test: GitLint - FAIL
Desc: Run gitlint
Output:
[BlueZ,v1,2/4] profiles: Add create_context param as part of CS Create Config cmd

1: T1 Title exceeds max length (81>80): "[BlueZ,v1,2/4] profiles: Add create_context param as part of CS Create Config cmd"


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

---
Regards,
Linux Bluetooth


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

end of thread, other threads:[~2026-07-17 15:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-17 13:34 [PATCH BlueZ v1 0/4] CS: Add create_context support Naga Bhavani Akella
2026-07-17 13:35 ` [PATCH BlueZ v1 1/4] shared: Add create_context CS config parameter Naga Bhavani Akella
2026-07-17 15:06   ` CS: Add create_context support bluez.test.bot
2026-07-17 13:35 ` [PATCH BlueZ v1 2/4] profiles: Add create_context param as part of CS Create Config cmd Naga Bhavani Akella
2026-07-17 13:35 ` [PATCH BlueZ v1 3/4] client: Add create_context CS config parameter Naga Bhavani Akella
2026-07-17 13:35 ` [PATCH BlueZ v1 4/4] doc: Document create_context in bluetoothctl-cs.rst Naga Bhavani Akella

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