diff options
author | Johan Hovold <jhovold@gmail.com> | 2009-11-22 15:25:20 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-03-02 17:53:04 -0500 |
commit | 8c4f99cd54469d643e27a743045da848f7b63fe5 (patch) | |
tree | 99ceced5dcbba8a1f5dfd6c77371963a399ddbc8 /drivers/usb | |
parent | b4fc2aeef23b4b35809054ddf495f9efdc3ac9d6 (diff) |
USB: ftdi_sio: fix initialisation of latency timeout
Latency timeout was read but never stored on port probe. When
ASYNC_LOW_LATENCY was cleared the device timeout would get set to 0
rather than the default 16ms.
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/serial/ftdi_sio.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c index ffc79eea963d..9979d4920a32 100644 --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c | |||
@@ -1184,7 +1184,6 @@ static int read_latency_timer(struct usb_serial_port *port) | |||
1184 | unsigned short latency = 0; | 1184 | unsigned short latency = 0; |
1185 | int rv = 0; | 1185 | int rv = 0; |
1186 | 1186 | ||
1187 | |||
1188 | dbg("%s", __func__); | 1187 | dbg("%s", __func__); |
1189 | 1188 | ||
1190 | rv = usb_control_msg(udev, | 1189 | rv = usb_control_msg(udev, |
@@ -1197,8 +1196,9 @@ static int read_latency_timer(struct usb_serial_port *port) | |||
1197 | if (rv < 0) { | 1196 | if (rv < 0) { |
1198 | dev_err(&port->dev, "Unable to read latency timer: %i\n", rv); | 1197 | dev_err(&port->dev, "Unable to read latency timer: %i\n", rv); |
1199 | return -EIO; | 1198 | return -EIO; |
1200 | } | 1199 | } else |
1201 | return latency; | 1200 | priv->latency = latency; |
1201 | return rv; | ||
1202 | } | 1202 | } |
1203 | 1203 | ||
1204 | static int get_serial_info(struct usb_serial_port *port, | 1204 | static int get_serial_info(struct usb_serial_port *port, |
@@ -1584,7 +1584,8 @@ static int ftdi_sio_port_probe(struct usb_serial_port *port) | |||
1584 | 1584 | ||
1585 | ftdi_determine_type(port); | 1585 | ftdi_determine_type(port); |
1586 | ftdi_set_max_packet_size(port); | 1586 | ftdi_set_max_packet_size(port); |
1587 | read_latency_timer(port); | 1587 | if (read_latency_timer(port) < 0) |
1588 | priv->latency = 16; | ||
1588 | create_sysfs_attrs(port); | 1589 | create_sysfs_attrs(port); |
1589 | return 0; | 1590 | return 0; |
1590 | } | 1591 | } |