]> Pileus Git - ~andy/linux/blobdiff - drivers/usb/serial/quatech2.c
Merge tag 'xtensa-next-20130225' of git://github.com/czankel/xtensa-linux
[~andy/linux] / drivers / usb / serial / quatech2.c
index a8d5110d4cc566369ebc6f47a2d99c023ef5e5a2..00e6c9bac8a309b0df675903654ce0521f991cad 100644 (file)
@@ -609,7 +609,6 @@ void qt2_process_read_urb(struct urb *urb)
        struct qt2_serial_private *serial_priv;
        struct usb_serial_port *port;
        struct qt2_port_private *port_priv;
-       struct tty_struct *tty;
        bool escapeflag;
        unsigned char *ch;
        int i;
@@ -620,15 +619,11 @@ void qt2_process_read_urb(struct urb *urb)
                return;
 
        ch = urb->transfer_buffer;
-       tty = NULL;
        serial = urb->context;
        serial_priv = usb_get_serial_data(serial);
        port = serial->port[serial_priv->current_port];
        port_priv = usb_get_serial_port_data(port);
 
-       if (port_priv->is_open)
-               tty = tty_port_tty_get(&port->port);
-
        for (i = 0; i < urb->actual_length; i++) {
                ch = (unsigned char *)urb->transfer_buffer + i;
                if ((i <= (len - 3)) &&
@@ -666,10 +661,7 @@ void qt2_process_read_urb(struct urb *urb)
                                                 __func__);
                                        break;
                                }
-                               if (tty) {
-                                       tty_flip_buffer_push(tty);
-                                       tty_kref_put(tty);
-                               }
+                               tty_flip_buffer_push(&port->port);
 
                                newport = *(ch + 3);
 
@@ -683,10 +675,6 @@ void qt2_process_read_urb(struct urb *urb)
                                serial_priv->current_port = newport;
                                port = serial->port[serial_priv->current_port];
                                port_priv = usb_get_serial_port_data(port);
-                               if (port_priv->is_open)
-                                       tty = tty_port_tty_get(&port->port);
-                               else
-                                       tty = NULL;
                                i += 3;
                                escapeflag = true;
                                break;
@@ -697,8 +685,8 @@ void qt2_process_read_urb(struct urb *urb)
                                escapeflag = true;
                                break;
                        case QT2_CONTROL_ESCAPE:
-                               tty_buffer_request_room(tty, 2);
-                               tty_insert_flip_string(tty, ch, 2);
+                               tty_buffer_request_room(&port->port, 2);
+                               tty_insert_flip_string(&port->port, ch, 2);
                                i += 2;
                                escapeflag = true;
                                break;
@@ -712,16 +700,11 @@ void qt2_process_read_urb(struct urb *urb)
                                continue;
                }
 
-               if (tty) {
-                       tty_buffer_request_room(tty, 1);
-                       tty_insert_flip_string(tty, ch, 1);
-               }
+               tty_buffer_request_room(&port->port, 1);
+               tty_insert_flip_string(&port->port, ch, 1);
        }
 
-       if (tty) {
-               tty_flip_buffer_push(tty);
-               tty_kref_put(tty);
-       }
+       tty_flip_buffer_push(&port->port);
 }
 
 static void qt2_write_bulk_callback(struct urb *urb)