]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/char/tty_buffer.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
[net-next-2.6.git] / drivers / char / tty_buffer.c
index 4c133459ab7e5b2efcd3c364aad15b179dc83008..af8d97715728b4829ec152dcd22b5fa4516e9bbc 100644 (file)
@@ -248,7 +248,8 @@ int tty_insert_flip_string_fixed_flag(struct tty_struct *tty,
 {
        int copied = 0;
        do {
-               int space = tty_buffer_request_room(tty, size - copied);
+               int goal = min(size - copied, TTY_BUFFER_PAGE);
+               int space = tty_buffer_request_room(tty, goal);
                struct tty_buffer *tb = tty->buf.tail;
                /* If there is no space then tb may be NULL */
                if (unlikely(space == 0))
@@ -284,7 +285,8 @@ int tty_insert_flip_string_flags(struct tty_struct *tty,
 {
        int copied = 0;
        do {
-               int space = tty_buffer_request_room(tty, size - copied);
+               int goal = min(size - copied, TTY_BUFFER_PAGE);
+               int space = tty_buffer_request_room(tty, goal);
                struct tty_buffer *tb = tty->buf.tail;
                /* If there is no space then tb may be NULL */
                if (unlikely(space == 0))