Index: generic/src/console/klog.c
===================================================================
--- generic/src/console/klog.c	(revision 874621f88e11575154ad0c2e08fc906a8d92e4c0)
+++ generic/src/console/klog.c	(revision ae971b3e902b87e9e944e1e94506f329e69c3e97)
@@ -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;
 	}
