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

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

Bluetooth: Move parts of fixed channel initialization to l2cap_add_scid



The l2cap_add_scid function is used for registering a fixed L2CAP
channel. Instead of having separate initialization of the channel type
and outgoing MTU in l2cap_sock.c it's more intuitive to do these things
in the l2cap_add_scid function itself (and thereby make the
functionality available to other users besides l2cap_sock.c).

Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 06171e05
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -210,6 +210,10 @@ int l2cap_add_scid(struct l2cap_chan *chan, __u16 scid)
{
	write_lock(&chan_list_lock);

	/* Override the defaults (which are for conn-oriented) */
	chan->omtu = L2CAP_DEFAULT_MTU;
	chan->chan_type = L2CAP_CHAN_FIXED;

	chan->scid = scid;

	write_unlock(&chan_list_lock);
+0 −9
Original line number Diff line number Diff line
@@ -99,15 +99,6 @@ static int l2cap_sock_bind(struct socket *sock, struct sockaddr *addr, int alen)
	if (!bdaddr_type_is_valid(la.l2_bdaddr_type))
		return -EINVAL;

	if (la.l2_cid) {
		/* When the socket gets created it defaults to
		 * CHAN_CONN_ORIENTED, so we need to overwrite the
		 * default here.
		 */
		chan->chan_type = L2CAP_CHAN_FIXED;
		chan->omtu = L2CAP_DEFAULT_MTU;
	}

	if (bdaddr_type_is_le(la.l2_bdaddr_type)) {
		/* We only allow ATT user space socket */
		if (la.l2_cid &&