linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH BlueZ v1 1/5] client/mgmt: Add missing settings strings
@ 2024-02-01 15:38 Luiz Augusto von Dentz
  2024-02-01 15:38 ` [PATCH BlueZ v1 2/5] bap: Fix passing ep instead of setup to config_cb Luiz Augusto von Dentz
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Luiz Augusto von Dentz @ 2024-02-01 15:38 UTC (permalink / raw)
  To: linux-bluetooth

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

This adds "iso-broadcaster" and "sync-receiver" which were missing.
---
 client/mgmt.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/client/mgmt.c b/client/mgmt.c
index 62167727c1c0..44bf4d2019ea 100644
--- a/client/mgmt.c
+++ b/client/mgmt.c
@@ -359,6 +359,8 @@ static const char *settings_str[] = {
 				"wide-band-speech",
 				"cis-central",
 				"cis-peripheral",
+				"iso-broadcaster",
+				"sync-receiver"
 };
 
 static const char *settings2str(uint32_t settings)
-- 
2.43.0


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

* [PATCH BlueZ v1 2/5] bap: Fix passing ep instead of setup to config_cb
  2024-02-01 15:38 [PATCH BlueZ v1 1/5] client/mgmt: Add missing settings strings Luiz Augusto von Dentz
@ 2024-02-01 15:38 ` Luiz Augusto von Dentz
  2024-02-01 15:38 ` [PATCH BlueZ v1 3/5] device: Don't remove object if a service is connecting Luiz Augusto von Dentz
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Luiz Augusto von Dentz @ 2024-02-01 15:38 UTC (permalink / raw)
  To: linux-bluetooth

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

config_cb expects setup pointer not ep.
---
 profiles/audio/bap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/profiles/audio/bap.c b/profiles/audio/bap.c
index 7faa6be7f90b..7e87d12d02f1 100644
--- a/profiles/audio/bap.c
+++ b/profiles/audio/bap.c
@@ -948,7 +948,7 @@ static DBusMessage *set_configuration(DBusConnection *conn, DBusMessage *msg,
 						&setup->qos, setup->caps);
 
 	setup->id = bt_bap_stream_config(setup->stream, &setup->qos,
-						setup->caps, config_cb, ep);
+						setup->caps, config_cb, setup);
 	if (!setup->id) {
 		DBG("Unable to config stream");
 		setup_free(setup);
-- 
2.43.0


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

* [PATCH BlueZ v1 3/5] device: Don't remove object if a service is connecting
  2024-02-01 15:38 [PATCH BlueZ v1 1/5] client/mgmt: Add missing settings strings Luiz Augusto von Dentz
  2024-02-01 15:38 ` [PATCH BlueZ v1 2/5] bap: Fix passing ep instead of setup to config_cb Luiz Augusto von Dentz
@ 2024-02-01 15:38 ` Luiz Augusto von Dentz
  2024-02-01 15:38 ` [PATCH BlueZ v1 4/5] shared/bap: Allow using bt_bap_attach for broadcast Luiz Augusto von Dentz
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Luiz Augusto von Dentz @ 2024-02-01 15:38 UTC (permalink / raw)
  To: linux-bluetooth

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

If a service is connecting just restart the timer to give it more time
to complete the connection or disconnect.
---
 src/device.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/device.c b/src/device.c
index afd073c6c2a5..1db96d9a672c 100644
--- a/src/device.c
+++ b/src/device.c
@@ -3276,6 +3276,13 @@ static bool device_disappeared(gpointer user_data)
 {
 	struct btd_device *dev = user_data;
 
+	/* If there are services connecting restart the timer to give more time
+	 * for the service to either complete the connection or disconnect.
+	 */
+	if (find_service_with_state(dev->services,
+					BTD_SERVICE_STATE_CONNECTING))
+		return TRUE;
+
 	dev->temporary_timer = 0;
 
 	btd_adapter_remove_device(dev->adapter, dev);
-- 
2.43.0


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

* [PATCH BlueZ v1 4/5] shared/bap: Allow using bt_bap_attach for broadcast
  2024-02-01 15:38 [PATCH BlueZ v1 1/5] client/mgmt: Add missing settings strings Luiz Augusto von Dentz
  2024-02-01 15:38 ` [PATCH BlueZ v1 2/5] bap: Fix passing ep instead of setup to config_cb Luiz Augusto von Dentz
  2024-02-01 15:38 ` [PATCH BlueZ v1 3/5] device: Don't remove object if a service is connecting Luiz Augusto von Dentz
@ 2024-02-01 15:38 ` Luiz Augusto von Dentz
  2024-02-01 15:38 ` [PATCH BlueZ v1 5/5] bap: Fix crash when a broadcast strean setup is pending Luiz Augusto von Dentz
  2024-02-01 17:57 ` [BlueZ,v1,1/5] client/mgmt: Add missing settings strings bluez.test.bot
  4 siblings, 0 replies; 7+ messages in thread
From: Luiz Augusto von Dentz @ 2024-02-01 15:38 UTC (permalink / raw)
  To: linux-bluetooth

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

This enables use of bt_bap_attach for broadcast by checking if there is
a client or ATT instance.
---
 src/shared/bap.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/shared/bap.c b/src/shared/bap.c
index 851d6a5facc3..ce8d35f86af3 100644
--- a/src/shared/bap.c
+++ b/src/shared/bap.c
@@ -4156,7 +4156,8 @@ bool bt_bap_attach(struct bt_bap *bap, struct bt_gatt_client *client)
 	queue_foreach(bap_cbs, bap_attached, bap);
 
 	if (!client) {
-		bap_attach_att(bap, bap->att);
+		if (bap->att)
+			bap_attach_att(bap, bap->att);
 		return true;
 	}
 
-- 
2.43.0


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

* [PATCH BlueZ v1 5/5] bap: Fix crash when a broadcast strean setup is pending
  2024-02-01 15:38 [PATCH BlueZ v1 1/5] client/mgmt: Add missing settings strings Luiz Augusto von Dentz
                   ` (2 preceding siblings ...)
  2024-02-01 15:38 ` [PATCH BlueZ v1 4/5] shared/bap: Allow using bt_bap_attach for broadcast Luiz Augusto von Dentz
@ 2024-02-01 15:38 ` Luiz Augusto von Dentz
  2024-02-01 17:57 ` [BlueZ,v1,1/5] client/mgmt: Add missing settings strings bluez.test.bot
  4 siblings, 0 replies; 7+ messages in thread
From: Luiz Augusto von Dentz @ 2024-02-01 15:38 UTC (permalink / raw)
  To: linux-bluetooth

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

This fixes the following crash when a broadcast stream setup is
pending and the device is remove:

bluetoothd[37]: src/device.c:device_free() 0x89a500
bluetoothd[37]: GLib: Invalid file descriptor.
bluetoothd[37]: ++++++++ backtrace ++++++++
bluetoothd[37]: #1  g_logv+0x270 (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557e3120]
bluetoothd[37]: #2  g_log+0x93 (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557e3403]
bluetoothd[37]: #3  g_io_channel_error_from_errno+0x4a (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557cd9da]
bluetoothd[37]: #4  g_io_unix_close+0x53 (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb55839d53]
bluetoothd[37]: #5  g_io_channel_shutdown+0x10f (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557cdf7f]
bluetoothd[37]: #6  g_io_channel_unref+0x39 (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557ce1e9]
bluetoothd[37]: #7  g_source_unref_internal+0x24f (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557db79f]
bluetoothd[37]: #8  g_main_context_dispatch+0x288 (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557dd638]
bluetoothd[37]: #9  g_main_context_iterate.isra.0+0x318 (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb5583b6b8]
bluetoothd[37]: #10 g_main_loop_run+0x7f (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557dcaff]
bluetoothd[37]: #11 mainloop_run+0x15 (src/shared/mainloop-glib.c:68) [0x662e65]
bluetoothd[37]: #12 mainloop_run_with_signal+0x128 (src/shared/mainloop-notify.c:190) [0x663368]
bluetoothd[37]: #13 main+0x154b (src/main.c:1454) [0x41521b]
bluetoothd[37]: #14 __libc_start_call_main+0x7a (/usr/lib64/libc.so.6) [0x7feb54e1fb8a]
bluetoothd[37]: #15 __libc_start_main@@GLIBC_2.34+0x8b (/usr/lib64/libc.so.6) [0x7feb54e1fc4b]
bluetoothd[37]: #16 _start+0x25 (src/main.c:1197) [0x416305]
bluetoothd[37]: +++++++++++++++++++++++++++
---
 profiles/audio/bap.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/profiles/audio/bap.c b/profiles/audio/bap.c
index 7e87d12d02f1..26fd465bf560 100644
--- a/profiles/audio/bap.c
+++ b/profiles/audio/bap.c
@@ -974,6 +974,9 @@ static DBusMessage *set_configuration(DBusConnection *conn, DBusMessage *msg,
 			setup->id = 0;
 		}
 
+		if (ep->data->service)
+			service_set_connecting(ep->data->service);
+
 		return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
 	}
 
@@ -2437,6 +2440,11 @@ static int bap_bcast_probe(struct btd_service *service)
 		return -EINVAL;
 	}
 
+	if (!bt_bap_attach(data->bap, NULL)) {
+		error("BAP unable to attach");
+		return -EINVAL;
+	}
+
 	bap_data_add(data);
 
 	data->ready_id = bt_bap_ready_register(data->bap, bap_ready, service,
@@ -2644,6 +2652,7 @@ static struct btd_profile bap_bcast_profile = {
 	.remote_uuid	= BCAAS_UUID_STR,
 	.device_probe	= bap_bcast_probe,
 	.device_remove	= bap_bcast_remove,
+	.disconnect	= bap_disconnect,
 	.auto_connect	= false,
 	.experimental	= true,
 };
-- 
2.43.0


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

* RE: [BlueZ,v1,1/5] client/mgmt: Add missing settings strings
  2024-02-01 15:38 [PATCH BlueZ v1 1/5] client/mgmt: Add missing settings strings Luiz Augusto von Dentz
                   ` (3 preceding siblings ...)
  2024-02-01 15:38 ` [PATCH BlueZ v1 5/5] bap: Fix crash when a broadcast strean setup is pending Luiz Augusto von Dentz
@ 2024-02-01 17:57 ` bluez.test.bot
  4 siblings, 0 replies; 7+ messages in thread
From: bluez.test.bot @ 2024-02-01 17:57 UTC (permalink / raw)
  To: linux-bluetooth, luiz.dentz

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

---Test result---

Test Summary:
CheckPatch                    FAIL      2.10 seconds
GitLint                       FAIL      1.59 seconds
BuildEll                      PASS      24.53 seconds
BluezMake                     PASS      727.18 seconds
MakeCheck                     PASS      12.04 seconds
MakeDistcheck                 PASS      169.39 seconds
CheckValgrind                 PASS      230.74 seconds
CheckSmatch                   PASS      328.80 seconds
bluezmakeextell               PASS      106.74 seconds
IncrementalBuild              PASS      3472.31 seconds
ScanBuild                     PASS      942.95 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script
Output:
[BlueZ,v1,5/5] bap: Fix crash when a broadcast strean setup is pending
WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#103: 
bluetoothd[37]: #1  g_logv+0x270 (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557e3120]

/github/workspace/src/src/13541290.patch total: 0 errors, 1 warnings, 27 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/src/13541290.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,v1,5/5] bap: Fix crash when a broadcast strean setup is pending

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
11: B1 Line exceeds max length (86>80): "bluetoothd[37]: #1  g_logv+0x270 (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557e3120]"
12: B1 Line exceeds max length (84>80): "bluetoothd[37]: #2  g_log+0x93 (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557e3403]"
13: B1 Line exceeds max length (108>80): "bluetoothd[37]: #3  g_io_channel_error_from_errno+0x4a (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557cd9da]"
14: B1 Line exceeds max length (94>80): "bluetoothd[37]: #4  g_io_unix_close+0x53 (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb55839d53]"
15: B1 Line exceeds max length (101>80): "bluetoothd[37]: #5  g_io_channel_shutdown+0x10f (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557cdf7f]"
16: B1 Line exceeds max length (97>80): "bluetoothd[37]: #6  g_io_channel_unref+0x39 (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557ce1e9]"
17: B1 Line exceeds max length (103>80): "bluetoothd[37]: #7  g_source_unref_internal+0x24f (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557db79f]"
18: B1 Line exceeds max length (103>80): "bluetoothd[37]: #8  g_main_context_dispatch+0x288 (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557dd638]"
19: B1 Line exceeds max length (109>80): "bluetoothd[37]: #9  g_main_context_iterate.isra.0+0x318 (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb5583b6b8]"
20: B1 Line exceeds max length (94>80): "bluetoothd[37]: #10 g_main_loop_run+0x7f (/usr/lib64/libglib-2.0.so.0.7600.6) [0x7feb557dcaff]"
22: B1 Line exceeds max length (96>80): "bluetoothd[37]: #12 mainloop_run_with_signal+0x128 (src/shared/mainloop-notify.c:190) [0x663368]"
24: B1 Line exceeds max length (87>80): "bluetoothd[37]: #14 __libc_start_call_main+0x7a (/usr/lib64/libc.so.6) [0x7feb54e1fb8a]"
25: B1 Line exceeds max length (94>80): "bluetoothd[37]: #15 __libc_start_main@@GLIBC_2.34+0x8b (/usr/lib64/libc.so.6) [0x7feb54e1fc4b]"


---
Regards,
Linux Bluetooth


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

* RE: [BlueZ,v1,1/5] client/mgmt: Add missing settings strings
  2024-02-01 19:09 [PATCH BlueZ v1 1/5] " Luiz Augusto von Dentz
@ 2024-02-01 20:30 ` bluez.test.bot
  0 siblings, 0 replies; 7+ messages in thread
From: bluez.test.bot @ 2024-02-01 20:30 UTC (permalink / raw)
  To: linux-bluetooth, luiz.dentz

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

---Test result---

Test Summary:
CheckPatch                    PASS      0.46 seconds
GitLint                       PASS      0.33 seconds
BuildEll                      PASS      24.45 seconds
BluezMake                     PASS      728.13 seconds
MakeCheck                     PASS      11.57 seconds
MakeDistcheck                 PASS      163.60 seconds
CheckValgrind                 PASS      224.94 seconds
CheckSmatch                   PASS      329.48 seconds
bluezmakeextell               PASS      106.97 seconds
IncrementalBuild              PASS      676.54 seconds
ScanBuild                     PASS      956.25 seconds



---
Regards,
Linux Bluetooth


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

end of thread, other threads:[~2024-02-01 20:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-01 15:38 [PATCH BlueZ v1 1/5] client/mgmt: Add missing settings strings Luiz Augusto von Dentz
2024-02-01 15:38 ` [PATCH BlueZ v1 2/5] bap: Fix passing ep instead of setup to config_cb Luiz Augusto von Dentz
2024-02-01 15:38 ` [PATCH BlueZ v1 3/5] device: Don't remove object if a service is connecting Luiz Augusto von Dentz
2024-02-01 15:38 ` [PATCH BlueZ v1 4/5] shared/bap: Allow using bt_bap_attach for broadcast Luiz Augusto von Dentz
2024-02-01 15:38 ` [PATCH BlueZ v1 5/5] bap: Fix crash when a broadcast strean setup is pending Luiz Augusto von Dentz
2024-02-01 17:57 ` [BlueZ,v1,1/5] client/mgmt: Add missing settings strings bluez.test.bot
  -- strict thread matches above, loose matches on Subject: below --
2024-02-01 19:09 [PATCH BlueZ v1 1/5] " Luiz Augusto von Dentz
2024-02-01 20:30 ` [BlueZ,v1,1/5] " 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;
as well as URLs for NNTP newsgroup(s).