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 89284df2f8d97e0ba537e004da95a290e3096c8c..d3e58b56f56de97a6797caab7d8e5445c108ce93 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),