mirror of
https://github.com/torvalds/linux
synced 2024-09-28 23:41:21 +00:00
Bluetooth: move l2cap_sock_release() to l2cap_sock.c
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
This commit is contained in:
parent
65390587c7
commit
554f05bb8a
|
@ -438,7 +438,6 @@ void l2cap_sock_init(struct sock *sk, struct sock *parent);
|
||||||
struct sock *l2cap_sock_alloc(struct net *net, struct socket *sock,
|
struct sock *l2cap_sock_alloc(struct net *net, struct socket *sock,
|
||||||
int proto, gfp_t prio);
|
int proto, gfp_t prio);
|
||||||
|
|
||||||
int l2cap_sock_release(struct socket *sock);
|
|
||||||
int l2cap_sock_bind(struct socket *sock, struct sockaddr *addr, int alen);
|
int l2cap_sock_bind(struct socket *sock, struct sockaddr *addr, int alen);
|
||||||
int l2cap_sock_connect(struct socket *sock, struct sockaddr *addr, int alen, int flags);
|
int l2cap_sock_connect(struct socket *sock, struct sockaddr *addr, int alen, int flags);
|
||||||
int l2cap_sock_listen(struct socket *sock, int backlog);
|
int l2cap_sock_listen(struct socket *sock, int backlog);
|
||||||
|
|
|
@ -2159,23 +2159,6 @@ int l2cap_sock_shutdown(struct socket *sock, int how)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
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_chan_ready(struct sock *sk)
|
static void l2cap_chan_ready(struct sock *sk)
|
||||||
{
|
{
|
||||||
struct sock *parent = bt_sk(sk)->parent;
|
struct sock *parent = bt_sk(sk)->parent;
|
||||||
|
|
|
@ -62,6 +62,23 @@ static void l2cap_sock_timeout(unsigned long arg)
|
||||||
sock_put(sk);
|
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)
|
static void l2cap_sock_destruct(struct sock *sk)
|
||||||
{
|
{
|
||||||
BT_DBG("sk %p", sk);
|
BT_DBG("sk %p", sk);
|
||||||
|
|
Loading…
Reference in a new issue