aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/ftdi_sio.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/serial/ftdi_sio.c')
-rw-r--r--drivers/usb/serial/ftdi_sio.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index eb59ba3789ad..a96083b7fabc 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -2040,25 +2040,19 @@ static int ftdi_process_packet(struct usb_serial_port *port,
2040static void ftdi_process_read_urb(struct urb *urb) 2040static void ftdi_process_read_urb(struct urb *urb)
2041{ 2041{
2042 struct usb_serial_port *port = urb->context; 2042 struct usb_serial_port *port = urb->context;
2043 struct tty_struct *tty;
2044 struct ftdi_private *priv = usb_get_serial_port_data(port); 2043 struct ftdi_private *priv = usb_get_serial_port_data(port);
2045 char *data = (char *)urb->transfer_buffer; 2044 char *data = (char *)urb->transfer_buffer;
2046 int i; 2045 int i;
2047 int len; 2046 int len;
2048 int count = 0; 2047 int count = 0;
2049 2048
2050 tty = tty_port_tty_get(&port->port);
2051 if (!tty)
2052 return;
2053
2054 for (i = 0; i < urb->actual_length; i += priv->max_packet_size) { 2049 for (i = 0; i < urb->actual_length; i += priv->max_packet_size) {
2055 len = min_t(int, urb->actual_length - i, priv->max_packet_size); 2050 len = min_t(int, urb->actual_length - i, priv->max_packet_size);
2056 count += ftdi_process_packet(port, priv, &data[i], len); 2051 count += ftdi_process_packet(port, priv, &data[i], len);
2057 } 2052 }
2058 2053
2059 if (count) 2054 if (count)
2060 tty_flip_buffer_push(tty); 2055 tty_flip_buffer_push(&port->port);
2061 tty_kref_put(tty);
2062} 2056}
2063 2057
2064static void ftdi_break_ctl(struct tty_struct *tty, int break_state) 2058static void ftdi_break_ctl(struct tty_struct *tty, int break_state)