Browse Source

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 <gregkh@linuxfoundation.org>
Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com>
Chris Metcalf 10 years ago
parent
commit
b4287df829
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/tty/hvc/hvc_tile.c

+ 2 - 1
drivers/tty/hvc/hvc_tile.c

@@ -51,7 +51,8 @@ int tile_console_write(const char *buf, int count)
 			      _SIM_CONTROL_OPERATOR_BITS));
 			      _SIM_CONTROL_OPERATOR_BITS));
 		return 0;
 		return 0;
 	} else {
 	} 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;
 	}
 	}
 }
 }