Commit bb1fbed7 authored by Anthony Mallet's avatar Anthony Mallet Committed by Ben Hutchings

USB: serial: ftdi_sio: fix setting latency for unprivileged users

commit bb246681 upstream.

Commit 557aaa7f ("ft232: support the ASYNC_LOW_LATENCY
flag") enables unprivileged users to set the FTDI latency timer,
but there was a logic flaw that skipped sending the corresponding
USB control message to the device.

Specifically, the device latency timer would not be updated until next
open, something which was later also inadvertently broken by commit
c19db4c9 ("USB: ftdi_sio: set device latency timeout at port
probe").

A recent commit c6dce262 ("USB: serial: ftdi_sio: fix extreme
low-latency setting") disabled the low-latency mode by default so we now
need this fix to allow unprivileged users to again enable it.
Signed-off-by: default avatarAnthony Mallet <anthony.mallet@laas.fr>
[johan: amend commit message]
Fixes: 557aaa7f ("ft232: support the ASYNC_LOW_LATENCY flag")
Fixes: c19db4c9 ("USB: ftdi_sio: set device latency timeout at port probe").
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
parent d6aa9b42
......@@ -1543,9 +1543,9 @@ static int set_serial_info(struct tty_struct *tty,
(new_serial.flags & ASYNC_FLAGS));
priv->custom_divisor = new_serial.custom_divisor;
check_and_exit:
write_latency_timer(port);
check_and_exit:
if ((old_priv.flags & ASYNC_SPD_MASK) !=
(priv->flags & ASYNC_SPD_MASK)) {
if ((priv->flags & ASYNC_SPD_MASK) == ASYNC_SPD_HI)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment