summaryrefslogtreecommitdiffstats
path: root/net/bluetooth/l2cap_sock.c
diff options
context:
space:
mode:
authorGustavo F. Padovan <padovan@profusion.mobi>2011-02-04 02:36:42 -0200
committerGustavo F. Padovan <padovan@profusion.mobi>2011-02-08 01:43:30 -0200
commit554f05bb8a0707dcc0ba4ea1dba1fb9970846ab5 (patch)
treea7aaed5d2bf68fdd5be3a1a8a36d3382e99d109d /net/bluetooth/l2cap_sock.c
parent65390587c7bcf8bb60b48387db766d8d7dfea982 (diff)
Bluetooth: move l2cap_sock_release() to l2cap_sock.c
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'net/bluetooth/l2cap_sock.c')
-rw-r--r--net/bluetooth/l2cap_sock.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c
index c1455f72bf0..20efd240a78 100644
--- a/net/bluetooth/l2cap_sock.c
+++ b/net/bluetooth/l2cap_sock.c
@@ -62,6 +62,23 @@ static void l2cap_sock_timeout(unsigned long arg)
sock_put(sk);
}
+static int l2cap_sock_release(struct socket *sock)
+{
+ struct sock *sk = sock->sk;
+ int err;
+
+ BT_DBG("sock %p, sk %p", sock, sk);
+
+ if (!sk)
+ return 0;
+
+ err = l2cap_sock_shutdown(sock, 2);
+
+ sock_orphan(sk);
+ l2cap_sock_kill(sk);
+ return err;
+}
+
static void l2cap_sock_destruct(struct sock *sk)
{
BT_DBG("sk %p", sk);