diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c index a572ce2edb144e2ba36713d76b03b12ee0c0287d..bc269e83e1e55f668241b902770cc0a43663a1d0 100644 --- a/net/nfc/llcp_sock.c +++ b/net/nfc/llcp_sock.c @@ -685,6 +685,10 @@ static int llcp_sock_connect(struct socket *sock, struct sockaddr *_addr, ret = -EISCONN; goto error; } + if (sk->sk_state == LLCP_CONNECTING) { + ret = -EINPROGRESS; + goto error; + } dev = nfc_get_device(addr->dev_idx); if (dev == NULL) {