From fa2dbc2b1b7c4cde7257a4403e9790cb892e111b Mon Sep 17 00:00:00 2001 From: kieranm Date: Wed, 12 Aug 2009 08:32:14 +0000 Subject: [PATCH] BUG27199: use snd_wl2 instead of snd_wl1 --- CHANGELOG | 3 +++ src/core/tcp_in.c | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 57e54a0b..18b7d6c8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -116,6 +116,9 @@ HISTORY ++ Bugfixes: + 2009-08-12 Kieran Mansley + * tcp_in.c: Fix bug #27199: use snd_wl2 instead of snd_wl1 + 2009-07-28 Simon Goldschmidt * mem.h: Fixed bug #27105: "realloc() cannot replace mem_realloc()"s diff --git a/src/core/tcp_in.c b/src/core/tcp_in.c index 5db66839..235a68ab 100644 --- a/src/core/tcp_in.c +++ b/src/core/tcp_in.c @@ -738,7 +738,7 @@ tcp_receive(struct tcp_pcb *pcb) u8_t accepted_inseq = 0; if (flags & TCP_ACK) { - right_wnd_edge = pcb->snd_wnd + pcb->snd_wl1; + right_wnd_edge = pcb->snd_wnd + pcb->snd_wl2; /* Update window. */ if (TCP_SEQ_LT(pcb->snd_wl1, seqno) || @@ -765,7 +765,7 @@ tcp_receive(struct tcp_pcb *pcb) if (pcb->lastack == ackno) { pcb->acked = 0; - if (pcb->snd_wl1 + pcb->snd_wnd == right_wnd_edge){ + if (pcb->snd_wl2 + pcb->snd_wnd == right_wnd_edge){ ++pcb->dupacks; if (pcb->dupacks >= 3 && pcb->unacked != NULL) { if (!(pcb->flags & TF_INFR)) { @@ -802,7 +802,7 @@ tcp_receive(struct tcp_pcb *pcb) } } else { LWIP_DEBUGF(TCP_FR_DEBUG, ("tcp_receive: dupack averted %"U32_F" %"U32_F"\n", - pcb->snd_wl1 + pcb->snd_wnd, right_wnd_edge)); + pcb->snd_wl2 + pcb->snd_wnd, right_wnd_edge)); } } else if (TCP_SEQ_BETWEEN(ackno, pcb->lastack+1, pcb->snd_nxt)){ /* We come here when the ACK acknowledges new data. */