tty: hvc: udbg_hvc: retry putc on -EAGAIN
hvterm_raw_put_chars() calls hvc_put_chars(), which may return -EAGAIN when the underlying hcall returns a "busy" status, but udbg_hvc_putc() doesn't handle this. When using xmon on a PowerVM guest, this can result in incomplete or garbled output when printing relatively large amounts of data quickly, such as when dumping the kernel log buffer. Call again on -EAGAIN. Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20210514214422.3019105-1-nathanl@linux.ibm.com
This commit is contained in:
committed by
Michael Ellerman
parent
2cec178e35
commit
027f55e87c
@ -249,7 +249,7 @@ static void udbg_hvc_putc(char c)
|
||||
count = hvterm_hvsi_put_chars(0, &c, 1);
|
||||
break;
|
||||
}
|
||||
} while(count == 0);
|
||||
} while (count == 0 || count == -EAGAIN);
|
||||
}
|
||||
|
||||
static int udbg_hvc_getc_poll(void)
|
||||
|
Reference in New Issue
Block a user