Hi Andrei, > Return L2CAP_CREATE_CHAN_RSP for Create Channel Request and > L2CAP_CONN_RSP for Create Connection Request. > > Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@xxxxxxxxx> > --- > net/bluetooth/l2cap_core.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c > index 4ef85d2..d51741f 100644 > --- a/net/bluetooth/l2cap_core.c > +++ b/net/bluetooth/l2cap_core.c > @@ -3478,12 +3478,21 @@ void __l2cap_connect_rsp_defer(struct l2cap_chan *chan) > struct l2cap_conn_rsp rsp; > struct l2cap_conn *conn = chan->conn; > u8 buf[128]; > + u8 rsp_code; > > rsp.scid = cpu_to_le16(chan->dcid); > rsp.dcid = cpu_to_le16(chan->scid); > rsp.result = __constant_cpu_to_le16(L2CAP_CR_SUCCESS); > rsp.status = __constant_cpu_to_le16(L2CAP_CS_NO_INFO); > - l2cap_send_cmd(conn, chan->ident, L2CAP_CONN_RSP, sizeof(rsp), &rsp); > + > + if (chan->hs_hcon) > + rsp_code = L2CAP_CREATE_CHAN_RSP; > + else > + rsp_code = L2CAP_CONN_RSP; > + > + BT_DBG("chan %p rsp_code %u", chan, rsp_code); > + > + l2cap_send_cmd(conn, chan->ident, rsp_code, sizeof(rsp), &rsp); looks a bit hackish to me, but seems to work since both responses are essentially identical. Separate functions might be better, but that can be also fixed later on. Acked-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html