Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 439f34ac authored by Andrei Emeltchenko's avatar Andrei Emeltchenko Committed by Gustavo Padovan
Browse files

Bluetooth: Return correct L2CAP response type



Return L2CAP_CREATE_CHAN_RSP for Create Channel Request and
L2CAP_CONN_RSP for Create Connection Request.

Signed-off-by: default avatarAndrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarGustavo Padovan <gustavo.padovan@collabora.co.uk>
parent 336178a3
Loading
Loading
Loading
Loading
+10 −1
Original line number Original line Diff line number Diff line
@@ -3478,12 +3478,21 @@ void __l2cap_connect_rsp_defer(struct l2cap_chan *chan)
	struct l2cap_conn_rsp rsp;
	struct l2cap_conn_rsp rsp;
	struct l2cap_conn *conn = chan->conn;
	struct l2cap_conn *conn = chan->conn;
	u8 buf[128];
	u8 buf[128];
	u8 rsp_code;


	rsp.scid   = cpu_to_le16(chan->dcid);
	rsp.scid   = cpu_to_le16(chan->dcid);
	rsp.dcid   = cpu_to_le16(chan->scid);
	rsp.dcid   = cpu_to_le16(chan->scid);
	rsp.result = __constant_cpu_to_le16(L2CAP_CR_SUCCESS);
	rsp.result = __constant_cpu_to_le16(L2CAP_CR_SUCCESS);
	rsp.status = __constant_cpu_to_le16(L2CAP_CS_NO_INFO);
	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);


	if (test_and_set_bit(CONF_REQ_SENT, &chan->conf_state))
	if (test_and_set_bit(CONF_REQ_SENT, &chan->conf_state))
		return;
		return;