summaryrefslogtreecommitdiffstats
path: root/net/nfc/llcp/sock.c
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2013-03-26 14:35:57 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2013-03-26 14:35:57 +0100
commit39a352a5b5896403ad4ce842a9bc3845a01c02cd (patch)
treecdfb4e049b15d7f78ea7c19731c5b12206774794 /net/nfc/llcp/sock.c
parentNFC: llcp: Remove possible double call to kfree_skb (diff)
downloadlinux-39a352a5b5896403ad4ce842a9bc3845a01c02cd.tar.xz
linux-39a352a5b5896403ad4ce842a9bc3845a01c02cd.zip
NFC: llcp: Keep the connected socket parent pointer alive
And avoid decreasing the ack log twice when dequeueing connected LLCP sockets. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'net/nfc/llcp/sock.c')
-rw-r--r--net/nfc/llcp/sock.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/nfc/llcp/sock.c b/net/nfc/llcp/sock.c
index e488e440186a..8f025746f337 100644
--- a/net/nfc/llcp/sock.c
+++ b/net/nfc/llcp/sock.c
@@ -270,7 +270,9 @@ struct sock *nfc_llcp_accept_dequeue(struct sock *parent,
}
if (sk->sk_state == LLCP_CONNECTED || !newsock) {
- nfc_llcp_accept_unlink(sk);
+ list_del_init(&lsk->accept_queue);
+ sock_put(sk);
+
if (newsock)
sock_graft(sk, newsock);