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. */