]> git.sur5r.net Git - u-boot/blobdiff - common/xyzModem.c
lib: net_utils: make string_to_ip stricter
[u-boot] / common / xyzModem.c
index 56f4bcaf99453d04bac277b39a63688ed6836263..e0d87dbfec95af68bf72be382cc931aeb60c9ea5 100644 (file)
@@ -71,12 +71,12 @@ typedef int cyg_int32;
 static int
 CYGACC_COMM_IF_GETC_TIMEOUT (char chan, char *c)
 {
-#define DELAY 20
-  unsigned long counter = 0;
-  while (!tstc () && (counter < xyzModem_CHAR_TIMEOUT * 1000 / DELAY))
+
+  ulong now = get_timer(0);
+  while (!tstc ())
     {
-      udelay (DELAY);
-      counter++;
+      if (get_timer(now) > xyzModem_CHAR_TIMEOUT)
+        break;
     }
   if (tstc ())
     {
@@ -446,7 +446,7 @@ xyzModem_get_hdr (void)
   /* Verify checksum/CRC */
   if (xyz.crc_mode)
     {
-      cksum = cyg_crc16 (xyz.pkt, xyz.len);
+      cksum = crc16_ccitt(0, xyz.pkt, xyz.len);
       if (cksum != ((xyz.crc1 << 8) | xyz.crc2))
        {
          ZM_DEBUG (zm_dprintf ("CRC error - recvd: %02x%02x, computed: %x\n",