Hi Pauli,
well done! This patch fixes the issue. Thank you.
Best regards,
Timo
Am So., 9. Juni 2024 um 17:06 Uhr schrieb Pauli Virtanen <pav(a)iki.fi>:
>
> The amp_id argument of l2cap_connect() was removed in
> commit 84a4bb6548a2 ("Bluetooth: HCI: Remove HCI_AMP support")
>
> It was always called with amp_id == 0, i.e. AMP_ID_BREDR == 0x00 (ie.
> non-AMP controller). In the above commit, the code path for amp_id != 0
> was preserved, although it should have used the amp_id == 0 one.
>
> Restore the previous behavior of the non-AMP code path, to fix problems
> with L2CAP connections.
>
> Fixes: 84a4bb6548a2 ("Bluetooth: HCI: Remove HCI_AMP support")
> Signed-off-by: Pauli Virtanen <pav(a)iki.fi>
> ---
>
> Notes:
> v2: do the change in the actually right if branch
>
> Tried proofreading the commit, and this part seemed suspicious.
> Can you try if this fixes the problem?
>
> net/bluetooth/l2cap_core.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
> index c49e0d4b3c0d..aed025734d04 100644
> --- a/net/bluetooth/l2cap_core.c
> +++ b/net/bluetooth/l2cap_core.c
> @@ -4011,8 +4011,8 @@ static void l2cap_connect(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd,
> status = L2CAP_CS_AUTHOR_PEND;
> chan->ops->defer(chan);
> } else {
> - l2cap_state_change(chan, BT_CONNECT2);
> - result = L2CAP_CR_PEND;
> + l2cap_state_change(chan, BT_CONFIG);
> + result = L2CAP_CR_SUCCESS;
> status = L2CAP_CS_NO_INFO;
> }
> } else {
> --
> 2.45.2
>
Hallo,
on my two notebooks, one with Ubuntu (Mainline Kernel 6.9.3, bluez
5.7.2) and the other one with Manjaro (6.9.3, bluez 5.7.6) I'm having
problems with my Sony WH-1000XM3 and Shure BT1. Either A2DP or HFP/HSP
is not available after the connection has been established after a
reboot or a reconnection. It's reproducible that with the WH-1000XM3
the A2DP profiles are missing and with the Shure BT1 HFP/HSP profiles
are missing. It also takes longer than usual to connect and I have a
log message in the journal:
Jun 06 16:28:10 liebig bluetoothd[854]:
profiles/audio/avdtp.c:cancel_request() Discover: Connection timed out
(110)
When I disable and re-enable bluetooth (while the Headsets are still
on) and trigger a reconnect from the notebooks, A2DP and HFP/HSP
Profiles are available again.
I also tested it with 6.8.12 and it's the same problem. 6.8.11 and
6.9.2 don't have the problem.
So I did a bisection. After reverting commit
af1d425b6dc67cd67809f835dd7afb6be4d43e03 "Bluetooth: HCI: Remove
HCI_AMP support" for 6.9.3 it's working again without problems.
Let me know if you need anything from me.
Best regards,
Timo