Index: generic/src/console/klog.c
===================================================================
--- generic/src/console/klog.c	(revision 874621f88e11575154ad0c2e08fc906a8d92e4c0)
+++ generic/src/console/klog.c	(revision 8778271d4d90f294446faff679ba45d6998f9a36)
@@ -71,12 +71,7 @@
 
 	ret = vsnprintf(klog+klogpos, klogsize-klogpos, fmt, atst);
-	// Workaround around bad return value from vsnprintf
-	if (ret+klogpos < klogsize)
-		ret = 100;
-	if (ret == klogsize-klogpos) {
+	if (ret >= klogsize-klogpos) {
 		klogpos = 0;
-		ret = vsnprintf(klog+klogpos, klogsize-klogpos, fmt, args);
-		ret = 100;
-		if (ret == klogsize)
+		if (ret >= klogsize)
 			goto out;
 	}
