Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[linux.git] / net / sctp / socket.c
index 5f83a6a2fa67e9101ca839cf63c7fd411a0e30d2..e13519e9df80679a618f4e058dce88443b8add6c 100644 (file)
@@ -6604,6 +6604,12 @@ static void sctp_wake_up_waiters(struct sock *sk,
        if (asoc->ep->sndbuf_policy)
                return __sctp_write_space(asoc);
 
+       /* If association goes down and is just flushing its
+        * outq, then just normally notify others.
+        */
+       if (asoc->base.dead)
+               return sctp_write_space(sk);
+
        /* Accounting for the sndbuf space is per socket, so we
         * need to wake up others, try to be fair and in case of
         * other associations, let them have a go first instead
@@ -6739,7 +6745,7 @@ do_nonblock:
        goto out;
 }
 
-void sctp_data_ready(struct sock *sk, int len)
+void sctp_data_ready(struct sock *sk)
 {
        struct socket_wq *wq;