From: Vlad Yasevich Date: Sat, 1 May 2010 02:41:10 +0000 (-0400) Subject: sctp: rwnd_press should be cumulative X-Git-Tag: v2.6.35-rc1~473^2~287^2~3 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=65883371894be2631603d5d412f90f8c09290fef;p=karo-tx-linux.git sctp: rwnd_press should be cumulative rwnd_press tracks the pressure on the recieve window. Every timer the receive buffer overlows, we truncate the receive window and then grow it back. However, if we don't track the cumulative presser, it's possible to reach a situation when receive buffer is empty, but rwnd stays truncated. Signed-off-by: Vlad Yasevich --- diff --git a/net/sctp/associola.c b/net/sctp/associola.c index 37753cd48be3..65f9a7cdf466 100644 --- a/net/sctp/associola.c +++ b/net/sctp/associola.c @@ -1482,7 +1482,7 @@ void sctp_assoc_rwnd_decrease(struct sctp_association *asoc, unsigned len) if (asoc->rwnd >= len) { asoc->rwnd -= len; if (over) { - asoc->rwnd_press = asoc->rwnd; + asoc->rwnd_press += asoc->rwnd; asoc->rwnd = 0; } } else {