diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c index cc638775a97d..21f2a6cdfa23 100644 --- a/net/bluetooth/sco.c +++ b/net/bluetooth/sco.c @@ -331,7 +331,8 @@ static void sco_sock_cleanup_listen(struct sock *parent) */ static void sco_sock_kill(struct sock *sk) { - if (!sock_flag(sk, SOCK_ZAPPED) || sk->sk_socket) + if (!sock_flag(sk, SOCK_ZAPPED) || sk->sk_socket || + sock_flag(sk, SOCK_DEAD)) return; BT_DBG("sk %pK state %d", sk, sk->sk_state);