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: firefly_0821_release~176^2~1518^2~7 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b4287df82991ca608f44d7ac12ad9b3bc39d5baa;hp=5bf6c07a1843813d0065feaaecba622d49148d7e;p=firefly-linux-kernel-4.4.55.git 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; } }