sctp: implement prsctp PRIO policy
[sfrench/cifs-2.6.git] / net / sctp / socket.c
index 08614296628a196dc28e99227631b70fd6f67f2f..71c7dc5ea62e162a95d7d318334ef9403d138b69 100644 (file)
@@ -1914,6 +1914,9 @@ static int sctp_sendmsg(struct sock *sk, struct msghdr *msg, size_t msg_len)
                goto out_free;
        }
 
+       if (sctp_wspace(asoc) < msg_len)
+               sctp_prsctp_prune(asoc, sinfo, msg_len - sctp_wspace(asoc));
+
        timeo = sock_sndtimeo(sk, msg->msg_flags & MSG_DONTWAIT);
        if (!sctp_wspace(asoc)) {
                err = sctp_wait_for_sndbuf(asoc, &timeo, msg_len);