From 1a9845b4f00a2930b2c06dabd6cf9bee4ca1437c Mon Sep 17 00:00:00 2001
From: Michael Walle <michael@walle.cc>
Date: Fri, 7 Oct 2011 12:27:50 +0000
Subject: [PATCH] netconsole: support packets longer than 512 bytes

Esp. while printing the environment the output is usually longer than 512
bytes. Instead of cutting the message, send multiple 512 bytes packets.

Signed-off-by: Michael Walle <michael@walle.cc>
Acked-by: Mike Frysinger <vapier@gentoo.org>
---
 drivers/net/netconsole.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index e40efb826b..56ba64fbb0 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -189,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;
 }
-- 
GitLab