summaryrefslogtreecommitdiff
path: root/net/sctp
diff options
context:
space:
mode:
authorVlad Yasevich <vladislav.yasevich@hp.com>2007-11-09 11:43:41 -0500
committerVlad Yasevich <vladislav.yasevich@hp.com>2007-11-09 11:43:41 -0500
commitcd3ae8e61570b55e32864c5f9e50085aa67126e9 (patch)
treeaabfdcffab94d0df217b2f24992c5aa69df6e5f7 /net/sctp
parent7ab9080467040054e27ae54d67cc185f24d881ae (diff)
downloadlinux-3.10-cd3ae8e61570b55e32864c5f9e50085aa67126e9.tar.gz
linux-3.10-cd3ae8e61570b55e32864c5f9e50085aa67126e9.tar.bz2
linux-3.10-cd3ae8e61570b55e32864c5f9e50085aa67126e9.zip
SCTP: Fix PR-SCTP to deliver all the accumulated ordered chunks
There is a small bug when we process a FWD-TSN. We'll deliver anything upto the current next expected SSN. However, if the next expected is already in the queue, it will take another chunk to trigger its delivery. The fix is to simply check the current queued SSN is the next expected one. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Diffstat (limited to 'net/sctp')
-rw-r--r--net/sctp/ulpqueue.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sctp/ulpqueue.c b/net/sctp/ulpqueue.c
index 4be92d0a2ca..4908041ffb3 100644
--- a/net/sctp/ulpqueue.c
+++ b/net/sctp/ulpqueue.c
@@ -862,7 +862,7 @@ static inline void sctp_ulpq_reap_ordered(struct sctp_ulpq *ulpq, __u16 sid)
continue;
/* see if this ssn has been marked by skipping */
- if (!SSN_lt(cssn, sctp_ssn_peek(in, csid)))
+ if (!SSN_lte(cssn, sctp_ssn_peek(in, csid)))
break;
__skb_unlink(pos, &ulpq->lobby);