Merge master.kernel.org:/home/rmk/linux-2.6-arm
[powerpc.git] / drivers / usb / serial / cypress_m8.c
index af9290e..68067fe 100644 (file)
@@ -112,6 +112,7 @@ static struct usb_driver cypress_driver = {
        .probe =        usb_serial_probe,
        .disconnect =   usb_serial_disconnect,
        .id_table =     id_table_combined,
+       .no_dynamic_id =        1,
 };
 
 struct cypress_private {
@@ -356,7 +357,7 @@ static int cypress_serial_control (struct usb_serial_port *port, unsigned baud_m
                        } while (retval != 5 && retval != ENODEV);
 
                        if (retval != 5) {
-                               err("%s - failed to retreive serial line settings - %d", __FUNCTION__, retval);
+                               err("%s - failed to retrieve serial line settings - %d", __FUNCTION__, retval);
                                return retval;
                        } else {
                                spin_lock_irqsave(&priv->lock, flags);
@@ -1262,12 +1263,10 @@ static void cypress_read_int_callback(struct urb *urb, struct pt_regs *regs)
 
        /* process read if there is data other than line status */
        if (tty && (bytes > i)) {
+               bytes = tty_buffer_request_room(tty, bytes);
                for (; i < bytes ; ++i) {
                        dbg("pushing byte number %d - %d - %c", i, data[i],
                                        data[i]);
-                       if(tty->flip.count >= TTY_FLIPBUF_SIZE) {
-                               tty_flip_buffer_push(tty);
-                       }
                        tty_insert_flip_char(tty, data[i], tty_flag);
                }
                tty_flip_buffer_push(port->tty);