diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c index 816e709afa5612941fa1241cf21c768710f51282..082da38762fc7c01e0d6a53810d3bc0160e86caf 100644 --- a/drivers/tty/tty_io.c +++ b/drivers/tty/tty_io.c @@ -962,11 +962,14 @@ static inline ssize_t do_tty_write( if (ret <= 0) break; + written += ret; + if (ret > size) + break; + /* FIXME! Have Al check this! */ if (ret != size) iov_iter_revert(from, size-ret); - written += ret; count -= ret; if (!count) break;