Messages in this thread Patch in this message | | | From | Chris Metcalf <> | Subject | [PATCH] drivers/tty/hvc/hvc_tile.c: properly return -EAGAIN | Date | Tue, 5 May 2015 13:11:28 -0400 |
| |
We were returning zero if no bytes could be written to the Tilera hypervisor console device, but this causes the output to be truncated. By returning -EAGAIN the tty hvc driver will come back and try again, which gives the semantics we want, and avoids dropping console output.
Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com> --- I have queued this in the tile tree as a tile-specific device, but if someone would prefer to pick it up for a tty or tty/hvc tree, that's fine too; just let me know.
drivers/tty/hvc/hvc_tile.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/tty/hvc/hvc_tile.c b/drivers/tty/hvc/hvc_tile.c index 3f6cd3102db5..9da1e842bbe9 100644 --- a/drivers/tty/hvc/hvc_tile.c +++ b/drivers/tty/hvc/hvc_tile.c @@ -51,7 +51,8 @@ int tile_console_write(const char *buf, int count) _SIM_CONTROL_OPERATOR_BITS)); return 0; } else { - return hv_console_write((HV_VirtAddr)buf, count); + /* Translate 0 bytes written to EAGAIN for hvc_console_print. */ + return hv_console_write((HV_VirtAddr)buf, count) ?: -EAGAIN; } } -- 2.1.2
| |