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

Commit 9b7655ea authored by Johan Hedberg's avatar Johan Hedberg Committed by Marcel Holtmann
Browse files

Bluetooth: Enable LE L2CAP CoC support by default



Now that the LE L2CAP Connection Oriented Channel support has undergone a
decent amount of testing we can make it officially supported. This patch
removes the enable_lecoc module parameter which was previously needed to
enable support for LE L2CAP CoC.

Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 4292f1f3
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -857,7 +857,6 @@ static inline long l2cap_chan_no_get_sndtimeo(struct l2cap_chan *chan)
}

extern bool disable_ertm;
extern bool enable_lecoc;

int l2cap_init_sockets(void);
void l2cap_cleanup_sockets(void);
+0 −11
Original line number Diff line number Diff line
@@ -5544,17 +5544,6 @@ static inline int l2cap_le_sig_cmd(struct l2cap_conn *conn,
{
	int err = 0;

	if (!enable_lecoc) {
		switch (cmd->code) {
		case L2CAP_LE_CONN_REQ:
		case L2CAP_LE_CONN_RSP:
		case L2CAP_LE_CREDITS:
		case L2CAP_DISCONN_REQ:
		case L2CAP_DISCONN_RSP:
			return -EINVAL;
		}
	}

	switch (cmd->code) {
	case L2CAP_COMMAND_REJ:
		l2cap_le_command_rej(conn, cmd, cmd_len, data);
+0 −29
Original line number Diff line number Diff line
@@ -36,8 +36,6 @@

#include "smp.h"

bool enable_lecoc;

static struct bt_sock_list l2cap_sk_list = {
	.lock = __RW_LOCK_UNLOCKED(l2cap_sk_list.lock)
};
@@ -111,8 +109,6 @@ static int l2cap_sock_bind(struct socket *sock, struct sockaddr *addr, int alen)
	}

	if (bdaddr_type_is_le(la.l2_bdaddr_type)) {
		if (!enable_lecoc && la.l2_psm)
			return -EINVAL;
		/* We only allow ATT user space socket */
		if (la.l2_cid &&
		    la.l2_cid != __constant_cpu_to_le16(L2CAP_CID_ATT))
@@ -229,8 +225,6 @@ static int l2cap_sock_connect(struct socket *sock, struct sockaddr *addr,
		return -EINVAL;

	if (bdaddr_type_is_le(la.l2_bdaddr_type)) {
		if (!enable_lecoc && la.l2_psm)
			return -EINVAL;
		/* We only allow ATT user space socket */
		if (la.l2_cid &&
		    la.l2_cid != __constant_cpu_to_le16(L2CAP_CID_ATT))
@@ -578,11 +572,6 @@ static int l2cap_sock_getsockopt(struct socket *sock, int level, int optname,
		break;

	case BT_SNDMTU:
		if (!enable_lecoc) {
			err = -EPROTONOSUPPORT;
			break;
		}

		if (!bdaddr_type_is_le(chan->src_type)) {
			err = -EINVAL;
			break;
@@ -598,11 +587,6 @@ static int l2cap_sock_getsockopt(struct socket *sock, int level, int optname,
		break;

	case BT_RCVMTU:
		if (!enable_lecoc) {
			err = -EPROTONOSUPPORT;
			break;
		}

		if (!bdaddr_type_is_le(chan->src_type)) {
			err = -EINVAL;
			break;
@@ -919,11 +903,6 @@ static int l2cap_sock_setsockopt(struct socket *sock, int level, int optname,
		break;

	case BT_SNDMTU:
		if (!enable_lecoc) {
			err = -EPROTONOSUPPORT;
			break;
		}

		if (!bdaddr_type_is_le(chan->src_type)) {
			err = -EINVAL;
			break;
@@ -936,11 +915,6 @@ static int l2cap_sock_setsockopt(struct socket *sock, int level, int optname,
		break;

	case BT_RCVMTU:
		if (!enable_lecoc) {
			err = -EPROTONOSUPPORT;
			break;
		}

		if (!bdaddr_type_is_le(chan->src_type)) {
			err = -EINVAL;
			break;
@@ -1643,6 +1617,3 @@ void l2cap_cleanup_sockets(void)
	bt_sock_unregister(BTPROTO_L2CAP);
	proto_unregister(&l2cap_proto);
}

module_param(enable_lecoc, bool, 0644);
MODULE_PARM_DESC(enable_lecoc, "Enable support for LE CoC");