USB: tty: fix incorrect use of tty_insert_flip_string_fixed_flag
authorJohan Hovold <jhovold@gmail.com>
Fri, 7 May 2010 17:46:56 +0000 (19:46 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 20 May 2010 20:21:43 +0000 (13:21 -0700)
Fix regression introduced by commit
a108bfcb372d8c4452701039308fb95747911c59 (USB: tty: Prune uses of
tty_request_room in the USB layer) which broke three drivers
(cypress_m8, digi_acceleport and spcp8x5) through incorrect use of
tty_insert_flip_string_fixed_flag.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Cc: stable <stable@kernel.org> [.34]
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/cypress_m8.c
drivers/usb/serial/digi_acceleport.c
drivers/usb/serial/spcp8x5.c

index e23c779..582e832 100644 (file)
@@ -1309,7 +1309,7 @@ static void cypress_read_int_callback(struct urb *urb)
        /* process read if there is data other than line status */
        if (tty && bytes > i) {
                tty_insert_flip_string_fixed_flag(tty, data + i,
-                               bytes - i, tty_flag);
+                               tty_flag, bytes - i);
                tty_flip_buffer_push(tty);
        }
 
index 68b0aa5..3edda3e 100644 (file)
@@ -1703,8 +1703,8 @@ static int digi_read_inb_callback(struct urb *urb)
                /* data length is len-1 (one byte of len is port_status) */
                --len;
                if (len > 0) {
-                       tty_insert_flip_string_fixed_flag(tty, data, len,
-                                                                       flag);
+                       tty_insert_flip_string_fixed_flag(tty, data, flag,
+                                                                       len);
                        tty_flip_buffer_push(tty);
                }
        }
index 5d39191..2ea32c5 100644 (file)
@@ -726,8 +726,8 @@ static void spcp8x5_read_bulk_callback(struct urb *urb)
                /* overrun is special, not associated with a char */
                if (status & UART_OVERRUN_ERROR)
                        tty_insert_flip_char(tty, 0, TTY_OVERRUN);
-               tty_insert_flip_string_fixed_flag(tty, data,
-                                               urb->actual_length, tty_flag);
+               tty_insert_flip_string_fixed_flag(tty, data, tty_flag,
+                                                       urb->actual_length);
                tty_flip_buffer_push(tty);
        }
        tty_kref_put(tty);