summaryrefslogtreecommitdiff
path: root/net/bluetooth/l2cap_sock.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/bluetooth/l2cap_sock.c')
-rw-r--r--net/bluetooth/l2cap_sock.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c
index 72022c5..f357d16 100644
--- a/net/bluetooth/l2cap_sock.c
+++ b/net/bluetooth/l2cap_sock.c
@@ -300,9 +300,13 @@ done:
release_sock(sk);
return err;
}
-
+#if LINUX_VERSION_IS_LESS(4,12,0)
+static int l2cap_sock_accept(struct socket *sock, struct socket *newsock,
+ int flags)
+#else
static int l2cap_sock_accept(struct socket *sock, struct socket *newsock,
int flags, bool kern)
+#endif
{
DEFINE_WAIT_FUNC(wait, woken_wake_function);
struct sock *sk = sock->sk, *nsk;
@@ -1028,7 +1032,11 @@ static int l2cap_sock_recvmsg(struct socket *sock, struct msghdr *msg,
goto done;
if (pi->rx_busy_skb) {
+#if LINUX_VERSION_IS_GEQ(4,7,0)
if (!__sock_queue_rcv_skb(sk, pi->rx_busy_skb))
+#else
+ if (!sock_queue_rcv_skb(sk, pi->rx_busy_skb))
+#endif
pi->rx_busy_skb = NULL;
else
goto done;
@@ -1297,7 +1305,11 @@ static int l2cap_sock_recv_cb(struct l2cap_chan *chan, struct sk_buff *skb)
goto done;
}
+#if LINUX_VERSION_IS_GEQ(4,7,0)
err = __sock_queue_rcv_skb(sk, skb);
+#else
+ err = sock_queue_rcv_skb(sk, skb);
+#endif
/* For ERTM, handle one skb that doesn't fit into the recv
* buffer. This is important to do because the data frames