diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2014-02-14 00:40:51 -0500 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2014-02-14 16:39:12 -0500 |
commit | 9b7655eafeeec9e74e97e9056e820ede8d18093e (patch) | |
tree | 72715dd3b99bf925a29204c5d9ae998390d4d32d /net/bluetooth/l2cap_sock.c | |
parent | 4292f1f3370193fd3f2e4f849211fd9596ce832f (diff) |
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: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth/l2cap_sock.c')
-rw-r--r-- | net/bluetooth/l2cap_sock.c | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c index 27d3d6d48b6e..b247f9d27fed 100644 --- a/net/bluetooth/l2cap_sock.c +++ b/net/bluetooth/l2cap_sock.c | |||
@@ -36,8 +36,6 @@ | |||
36 | 36 | ||
37 | #include "smp.h" | 37 | #include "smp.h" |
38 | 38 | ||
39 | bool enable_lecoc; | ||
40 | |||
41 | static struct bt_sock_list l2cap_sk_list = { | 39 | static struct bt_sock_list l2cap_sk_list = { |
42 | .lock = __RW_LOCK_UNLOCKED(l2cap_sk_list.lock) | 40 | .lock = __RW_LOCK_UNLOCKED(l2cap_sk_list.lock) |
43 | }; | 41 | }; |
@@ -111,8 +109,6 @@ static int l2cap_sock_bind(struct socket *sock, struct sockaddr *addr, int alen) | |||
111 | } | 109 | } |
112 | 110 | ||
113 | if (bdaddr_type_is_le(la.l2_bdaddr_type)) { | 111 | if (bdaddr_type_is_le(la.l2_bdaddr_type)) { |
114 | if (!enable_lecoc && la.l2_psm) | ||
115 | return -EINVAL; | ||
116 | /* We only allow ATT user space socket */ | 112 | /* We only allow ATT user space socket */ |
117 | if (la.l2_cid && | 113 | if (la.l2_cid && |
118 | la.l2_cid != __constant_cpu_to_le16(L2CAP_CID_ATT)) | 114 | 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, | |||
229 | return -EINVAL; | 225 | return -EINVAL; |
230 | 226 | ||
231 | if (bdaddr_type_is_le(la.l2_bdaddr_type)) { | 227 | if (bdaddr_type_is_le(la.l2_bdaddr_type)) { |
232 | if (!enable_lecoc && la.l2_psm) | ||
233 | return -EINVAL; | ||
234 | /* We only allow ATT user space socket */ | 228 | /* We only allow ATT user space socket */ |
235 | if (la.l2_cid && | 229 | if (la.l2_cid && |
236 | la.l2_cid != __constant_cpu_to_le16(L2CAP_CID_ATT)) | 230 | 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, | |||
578 | break; | 572 | break; |
579 | 573 | ||
580 | case BT_SNDMTU: | 574 | case BT_SNDMTU: |
581 | if (!enable_lecoc) { | ||
582 | err = -EPROTONOSUPPORT; | ||
583 | break; | ||
584 | } | ||
585 | |||
586 | if (!bdaddr_type_is_le(chan->src_type)) { | 575 | if (!bdaddr_type_is_le(chan->src_type)) { |
587 | err = -EINVAL; | 576 | err = -EINVAL; |
588 | break; | 577 | break; |
@@ -598,11 +587,6 @@ static int l2cap_sock_getsockopt(struct socket *sock, int level, int optname, | |||
598 | break; | 587 | break; |
599 | 588 | ||
600 | case BT_RCVMTU: | 589 | case BT_RCVMTU: |
601 | if (!enable_lecoc) { | ||
602 | err = -EPROTONOSUPPORT; | ||
603 | break; | ||
604 | } | ||
605 | |||
606 | if (!bdaddr_type_is_le(chan->src_type)) { | 590 | if (!bdaddr_type_is_le(chan->src_type)) { |
607 | err = -EINVAL; | 591 | err = -EINVAL; |
608 | break; | 592 | break; |
@@ -919,11 +903,6 @@ static int l2cap_sock_setsockopt(struct socket *sock, int level, int optname, | |||
919 | break; | 903 | break; |
920 | 904 | ||
921 | case BT_SNDMTU: | 905 | case BT_SNDMTU: |
922 | if (!enable_lecoc) { | ||
923 | err = -EPROTONOSUPPORT; | ||
924 | break; | ||
925 | } | ||
926 | |||
927 | if (!bdaddr_type_is_le(chan->src_type)) { | 906 | if (!bdaddr_type_is_le(chan->src_type)) { |
928 | err = -EINVAL; | 907 | err = -EINVAL; |
929 | break; | 908 | break; |
@@ -936,11 +915,6 @@ static int l2cap_sock_setsockopt(struct socket *sock, int level, int optname, | |||
936 | break; | 915 | break; |
937 | 916 | ||
938 | case BT_RCVMTU: | 917 | case BT_RCVMTU: |
939 | if (!enable_lecoc) { | ||
940 | err = -EPROTONOSUPPORT; | ||
941 | break; | ||
942 | } | ||
943 | |||
944 | if (!bdaddr_type_is_le(chan->src_type)) { | 918 | if (!bdaddr_type_is_le(chan->src_type)) { |
945 | err = -EINVAL; | 919 | err = -EINVAL; |
946 | break; | 920 | break; |
@@ -1643,6 +1617,3 @@ void l2cap_cleanup_sockets(void) | |||
1643 | bt_sock_unregister(BTPROTO_L2CAP); | 1617 | bt_sock_unregister(BTPROTO_L2CAP); |
1644 | proto_unregister(&l2cap_proto); | 1618 | proto_unregister(&l2cap_proto); |
1645 | } | 1619 | } |
1646 | |||
1647 | module_param(enable_lecoc, bool, 0644); | ||
1648 | MODULE_PARM_DESC(enable_lecoc, "Enable support for LE CoC"); | ||