--- x/net/nfc/llcp_sock.c +++ y/net/nfc/llcp_sock.c @@ -124,7 +124,6 @@ static int llcp_sock_bind(struct socket pr_debug("Socket bound to SAP %d\n", llcp_sock->ssap); sk->sk_state = LLCP_BOUND; - nfc_put_device(dev); release_sock(sk); return 0; @@ -192,6 +191,8 @@ static int llcp_raw_sock_bind(struct soc nfc_llcp_sock_link(&local->raw_sockets, sk); sk->sk_state = LLCP_BOUND; + release_sock(sk); + return 0; put_dev: nfc_put_device(dev);