From: Chris Metcalf Date: Mon, 4 May 2015 21:25:12 +0000 (-0400) Subject: drivers/tty/hvc/hvc_tile.c: properly return -EAGAIN X-Git-Tag: v4.2-rc1~61^2~7 X-Git-Url: http://git.cascardo.info/?p=cascardo%2Flinux.git;a=commitdiff_plain;h=b4287df82991ca608f44d7ac12ad9b3bc39d5baa drivers/tty/hvc/hvc_tile.c: properly return -EAGAIN 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. Acked-by: Greg Kroah-Hartman Signed-off-by: Chris Metcalf --- 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; } }