tty: fix some bogns in the serqt_usb2 driver
authorAlan Cox <alan@linux.intel.com>
Mon, 22 Jun 2009 17:42:36 +0000 (18:42 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 22 Jun 2009 18:32:24 +0000 (11:32 -0700)
Remove the replicated urban legends from the comments and fix a couple of
other silly calls

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/staging/serqt_usb2/serqt_usb2.c

index 581232b719fdeefe3a23d59417b234a9ae8c0137..90b29b564631656711694df46111dff8c4e8cda0 100644 (file)
@@ -284,21 +284,12 @@ static void ProcessModemStatus(struct quatech_port *qt_port,
        return;
 }
 
-static void ProcessRxChar(struct usb_serial_port *port, unsigned char Data)
+static void ProcessRxChar(struct tty_struct *tty, struct usb_serial_port *port,
+                                               unsigned char data)
 {
-       struct tty_struct *tty;
        struct urb *urb = port->read_urb;
-       tty = tty_port_tty_get(&port->port);
-
-       /* if we insert more than TTY_FLIPBUF_SIZE characters, we drop them. */
-
-       if (tty && urb->actual_length) {
-               tty_buffer_request_room(tty, 1);
-               tty_insert_flip_string(tty, &Data, 1);
-               /* tty_flip_buffer_push(tty); */
-       }
-
-       return;
+       if (urb->actual_length)
+               tty_insert_flip_char(tty, data, TTY_NORMAL);
 }
 
 static void qt_write_bulk_callback(struct urb *urb)
@@ -435,8 +426,10 @@ static void qt_read_bulk_callback(struct urb *urb)
                                case 0xff:
                                        dbg("No status sequence. \n");
 
-                                       ProcessRxChar(port, data[i]);
-                                       ProcessRxChar(port, data[i + 1]);
+                                       if (tty) {
+                                               ProcessRxChar(tty, port, data[i]);
+                                               ProcessRxChar(tty, port, data[i + 1]);
+                                       }
                                        i += 2;
                                        break;
                                }
@@ -444,10 +437,8 @@ static void qt_read_bulk_callback(struct urb *urb)
                                        continue;
                        }
 
-                       if (tty && urb->actual_length) {
-                               tty_buffer_request_room(tty, 1);
-                               tty_insert_flip_string(tty, (data + i), 1);
-                       }
+                       if (tty && urb->actual_length)
+                               tty_insert_flip_char(tty, data[i], TTY_NORMAL);
 
                }
                tty_flip_buffer_push(tty);