BUG27199: use snd_wl2 instead of snd_wl1
diff --git a/CHANGELOG b/CHANGELOG
index 57e54a0..18b7d6c 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -116,6 +116,9 @@
++ 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 5db6683..235a68a 100644
--- a/src/core/tcp_in.c
+++ b/src/core/tcp_in.c
@@ -738,7 +738,7 @@
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 @@
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 @@
}
} 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. */