Few more changes on ethernet, not definitive.
authorviric@llimona
Fri, 05 Oct 2007 01:15:26 +0200
changeset 62 dea93836aba5
parent 61 0b9daeb1cb1c
child 64 4db3a61ec257
Few more changes on ethernet, not definitive.
eth_proto.c
--- a/eth_proto.c	Sun Sep 30 18:42:11 2007 +0200
+++ b/eth_proto.c	Fri Oct 05 01:15:26 2007 +0200
@@ -99,6 +99,11 @@
         int nbytes;
         nbytes = min(size, edata.tmp_eth_buffer_size);
         memcpy(data, edata.tmp_eth_buffer, nbytes);
+
+        make_head(eth_buffer, seq, ACK, 0);
+        eth_send(command_line.eth_device, edata.partner, eth_buffer, HEAD);
+        edata.seq_wait++;
+        edata.tmp_buffer_filled = 0;
         return nbytes;
     }
     do {
@@ -129,6 +134,7 @@
     {
         edata.partner_set = 0;
         edata.seq_wait = 0;
+        edata.seq_send = 0;
     }
 
     return min(size, res);
@@ -191,9 +197,8 @@
         {
             if (rseq != edata.seq_wait)
                 edata.wrong_recv++;
-            else if (edata.tmp_buffer_filled)
+            else if (!edata.tmp_buffer_filled)
             {
-                edata.seq_wait++;
                 memcpy(edata.tmp_eth_buffer, eth_buffer, res);
                 edata.tmp_buffer_filled = 1;
             }