]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - drivers/usb/class/cdc-acm.c
[PATCH] TTY layer buffering revamp
[mirror_ubuntu-zesty-kernel.git] / drivers / usb / class / cdc-acm.c
index 248279e44c99d57c969a8ef03057b850da0cfb57..b9fd39fd1b5b3c37c9a8dc6c729a20bfc6b39fba 100644 (file)
@@ -335,14 +335,9 @@ next_buffer:
 
        dbg("acm_rx_tasklet: procesing buf 0x%p, size = %d\n", buf, buf->size);
 
-       for (i = 0; i < buf->size && !acm->throttle; i++) {
-               /* if we insert more than TTY_FLIPBUF_SIZE characters,
-                  we drop them. */
-               if (tty->flip.count >= TTY_FLIPBUF_SIZE) {
-                       tty_flip_buffer_push(tty);
-               }
-               tty_insert_flip_char(tty, buf->base[i], 0);
-       }
+       tty_buffer_request_room(tty, buf->size);
+       if (!acm->throttle)
+               tty_insert_flip_string(tty, buf->base, buf->size);
        tty_flip_buffer_push(tty);
 
        spin_lock(&acm->throttle_lock);