]> git.sur5r.net Git - u-boot/blobdiff - drivers/net/netconsole.c
mmc: sdhci: fix sdma bug for large file transfer
[u-boot] / drivers / net / netconsole.c
index e27bb3e71db9b0e593681f038bf36cb10cf675bb..56ba64fbb030121e0e6f1ec2d2613fe93e6cc235 100644 (file)
@@ -40,13 +40,14 @@ static short nc_port;                       /* source/target port */
 static const char *output_packet;      /* used by first send udp */
 static int output_packet_len = 0;
 
-static void nc_wait_arp_handler (uchar * pkt, unsigned dest, unsigned src,
+static void nc_wait_arp_handler(uchar *pkt, unsigned dest,
+                                IPaddr_t sip, unsigned src,
                                 unsigned len)
 {
        NetState = NETLOOP_SUCCESS;     /* got arp reply - quit net loop */
 }
 
-static void nc_handler (uchar * pkt, unsigned dest, unsigned src,
+static void nc_handler(uchar *pkt, unsigned dest, IPaddr_t sip, unsigned src,
                        unsigned len)
 {
        if (input_size)
@@ -188,10 +189,13 @@ static void nc_puts(const char *s)
                return;
        output_recursion = 1;
 
-       if ((len = strlen (s)) > 512)
-               len = 512;
-
-       nc_send_packet (s, len);
+       len = strlen(s);
+       while (len) {
+               int send_len = min(len, 512);
+               nc_send_packet(s, send_len);
+               len -= send_len;
+               s += send_len;
+       }
 
        output_recursion = 0;
 }