dccp: do not send reset to already closed sockets
[pandora-kernel.git] / net / dccp / proto.c
index e742f90..bd3ecdd 100644 (file)
@@ -1012,6 +1012,10 @@ void dccp_close(struct sock *sk, long timeout)
                __kfree_skb(skb);
        }
 
+       /* If socket has been already reset kill it. */
+       if (sk->sk_state == DCCP_CLOSED)
+               goto adjudge_to_death;
+
        if (data_was_unread) {
                /* Unread data was tossed, send an appropriate Reset Code */
                DCCP_WARN("ABORT with %u bytes unread\n", data_was_unread);