USB: ftdi_sio: set device latency timeout at port probe
authorJohan Hovold <jhovold@gmail.com>
Mon, 11 Oct 2010 18:23:36 +0000 (20:23 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 22 Oct 2010 17:22:09 +0000 (10:22 -0700)
No need to set latency timeout at every open.

This also fixes an issue with the read latency being as high as 250ms
(instead of 1ms) for the first read after port probe.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/ftdi_sio.c

index 89284df..d3e58b5 100644 (file)
@@ -1589,6 +1589,7 @@ static int ftdi_sio_port_probe(struct usb_serial_port *port)
        ftdi_set_max_packet_size(port);
        if (read_latency_timer(port) < 0)
                priv->latency = 16;
+       write_latency_timer(port);
        create_sysfs_attrs(port);
        return 0;
 }
@@ -1717,8 +1718,6 @@ static int ftdi_open(struct tty_struct *tty, struct usb_serial_port *port)
 
        dbg("%s", __func__);
 
-       write_latency_timer(port);
-
        /* No error checking for this (will get errors later anyway) */
        /* See ftdi_sio.h for description of what is reset */
        usb_control_msg(dev, usb_sndctrlpipe(dev, 0),