2023-03-29 23:26:42

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: [PATCH v2 1/2] bap: Mark devices to auto-connect

From: Luiz Augusto von Dentz <[email protected]>

This makes devices with BAP support to auto-connect once they start
advertising.
---
profiles/audio/bap.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/profiles/audio/bap.c b/profiles/audio/bap.c
index cfe6854663fa..464f365a93bc 100644
--- a/profiles/audio/bap.c
+++ b/profiles/audio/bap.c
@@ -1352,6 +1352,7 @@ static struct btd_profile bap_profile = {
.device_remove = bap_remove,
.accept = bap_accept,
.disconnect = bap_disconnect,
+ .auto_connect = true,
};

static unsigned int bap_id = 0;
--
2.39.2


2023-03-29 23:27:24

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: [PATCH v2 2/2] device: Fix not setting initiator flag when auto-connecting

From: Luiz Augusto von Dentz <[email protected]>

If the device is marked as auto-connect the kernel may initiate the
connection spontaneously causing new connections to not have set the
state->initiator flag properly.
---
src/device.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/device.c b/src/device.c
index f31f2a097e07..b43ced8b5c91 100644
--- a/src/device.c
+++ b/src/device.c
@@ -312,9 +312,16 @@ static struct bearer_state *get_state(struct btd_device *dev,

bool btd_device_is_initiator(struct btd_device *dev)
{
- if (dev->le_state.connected)
+ if (dev->le_state.connected) {
+ /* Mark as initiator if not set yet and auto-connect flag is
+ * set and LTK key is for a peripheral.
+ */
+ if (!dev->le_state.initiator && dev->auto_connect &&
+ dev->ltk && !dev->ltk->central)
+ dev->le_state.initiator = true;
+
return dev->le_state.initiator;
- if (dev->bredr_state.connected)
+ } else if (dev->bredr_state.connected)
return dev->bredr_state.initiator;

return dev->att_io ? true : false;
--
2.39.2

2023-03-30 01:07:06

by bluez.test.bot

[permalink] [raw]
Subject: RE: [v2,1/2] bap: Mark devices to auto-connect

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=735183

---Test result---

Test Summary:
CheckPatch PASS 0.76 seconds
GitLint PASS 0.54 seconds
BuildEll PASS 26.81 seconds
BluezMake PASS 762.58 seconds
MakeCheck PASS 10.82 seconds
MakeDistcheck PASS 148.65 seconds
CheckValgrind PASS 241.53 seconds
CheckSmatch PASS 322.74 seconds
bluezmakeextell PASS 97.30 seconds
IncrementalBuild PASS 1226.54 seconds
ScanBuild PASS 970.92 seconds



---
Regards,
Linux Bluetooth

2023-03-30 18:16:39

by patchwork-bot+bluetooth

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] bap: Mark devices to auto-connect

Hello:

This series was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <[email protected]>:

On Wed, 29 Mar 2023 16:25:36 -0700 you wrote:
> From: Luiz Augusto von Dentz <[email protected]>
>
> This makes devices with BAP support to auto-connect once they start
> advertising.
> ---
> profiles/audio/bap.c | 1 +
> 1 file changed, 1 insertion(+)

Here is the summary with links:
- [v2,1/2] bap: Mark devices to auto-connect
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=ca07d198f9c7
- [v2,2/2] device: Fix not setting initiator flag when auto-connecting
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=2b022fa5297a

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html