Index: /firmware/FSC/src/w5100_spi_interface.c
===================================================================
--- /firmware/FSC/src/w5100_spi_interface.c	(revision 18181)
+++ /firmware/FSC/src/w5100_spi_interface.c	(revision 18182)
@@ -344,19 +344,10 @@
 
 // returns number of bytes, transmitted into TX - buffer.
-U16 w5100_set_TX(U08* string, U16 NumBytes) {
-
-    U08 repetitions;
+U16 w5100_set_TX(volatile U08* string, U16 NumBytes) {
+
     U16 freesize;
     U16 last_TX_write_pointer;
 
     freesize = get_S0_TX_FSR();
-    for (repetitions=0 ; repetitions < 3;  ) { // increase is *inside the loop* 
-        if ( freesize != get_S0_TX_FSR()) {
-            freesize = get_S0_TX_FSR();
-        } 
-        else {
-            repetitions++;
-        }
-    }
     if (freesize == 0) {
         return 0;
@@ -364,12 +355,4 @@
     
     last_TX_write_pointer = get_S0_TX_WR();
-    for (repetitions=0 ; repetitions < 3;  ) { // increase is *inside the loop* 
-        if ( last_TX_write_pointer != get_S0_TX_WR()) {
-            last_TX_write_pointer = get_S0_TX_WR();
-        } 
-        else {
-            repetitions++;
-        }
-    }
 
     U16 offset = last_TX_write_pointer & S0_TX_MASK;
@@ -390,5 +373,5 @@
         }
         for (U16 i = 0; i < lower_size; ++i) {
-            w5100_write(S0_RX_BASE + i, string[upper_size+i]);
+            w5100_write(S0_TX_BASE + i, string[upper_size+i]);
         }
     }
