Hi Pauli, On Sun, Jun 9, 2024 at 11:06 AM Pauli Virtanen <pav@xxxxxx> wrote: > > 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. While at it we could create a test case to cover this code path with l2cap-tester. > Fixes: 84a4bb6548a2 ("Bluetooth: HCI: Remove HCI_AMP support") > Signed-off-by: Pauli Virtanen <pav@xxxxxx> > --- > > 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 > > -- Luiz Augusto von Dentz