Commit:     7d54dc6876b83d6bb75b8f7e865b7b9051056d22
Parent:     fa7ff654e14ccacd4e758c9878ff4884f816c877
Author:     Vlad Yasevich <[EMAIL PROTECTED]>
AuthorDate: Fri Nov 9 11:43:41 2007 -0500
Committer:  Vlad Yasevich <[EMAIL PROTECTED]>
CommitDate: Fri Nov 9 11:43:41 2007 -0500

    SCTP: Always flush the queue when uncorcking.
    When the code calls uncork, trigger a queue flush, even
    if the queue was not corked.  Most callers that explicitely
    cork the queue will have additinal checks to see if they
    corked it.  Callers who do not cork the queue expect packets
    to flow when they call uncork.
    The scneario that showcased this bug happend when we were not
    able to bundle DATA with outgoing COOKIE-ECHO.  As a result
    the data just sat in the outqueue and did not get transmitted.
    The application expected a response, but nothing happened.
    Signed-off-by: Vlad Yasevich <[EMAIL PROTECTED]>
 net/sctp/outqueue.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c
index 99a3db5..fa76f23 100644
--- a/net/sctp/outqueue.c
+++ b/net/sctp/outqueue.c
@@ -662,10 +662,9 @@ static int sctp_outq_flush_rtx(struct sctp_outq *q, struct 
sctp_packet *pkt,
 int sctp_outq_uncork(struct sctp_outq *q)
        int error = 0;
-       if (q->cork) {
+       if (q->cork)
                q->cork = 0;
-               error = sctp_outq_flush(q, 0);
-       }
+       error = sctp_outq_flush(q, 0);
        return error;
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to