Skip to content

Commit

Permalink
USB: ftdi_sio: fix initialisation of latency timeout
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Johan Hovold authored and Greg Kroah-Hartman committed Mar 2, 2010
1 parent b4fc2ae commit 8c4f99c
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/usb/serial/ftdi_sio.c
Original file line number Diff line number Diff line change
Expand Up @@ -1184,7 +1184,6 @@ static int read_latency_timer(struct usb_serial_port *port)
unsigned short latency = 0;
int rv = 0;


dbg("%s", __func__);

rv = usb_control_msg(udev,
Expand All @@ -1197,8 +1196,9 @@ static int read_latency_timer(struct usb_serial_port *port)
if (rv < 0) {
dev_err(&port->dev, "Unable to read latency timer: %i\n", rv);
return -EIO;
}
return latency;
} else
priv->latency = latency;
return rv;
}

static int get_serial_info(struct usb_serial_port *port,
Expand Down Expand Up @@ -1584,7 +1584,8 @@ static int ftdi_sio_port_probe(struct usb_serial_port *port)

ftdi_determine_type(port);
ftdi_set_max_packet_size(port);
read_latency_timer(port);
if (read_latency_timer(port) < 0)
priv->latency = 16;
create_sysfs_attrs(port);
return 0;
}
Expand Down

0 comments on commit 8c4f99c

Please sign in to comment.