Re: USB: serial: ftdi_sio: fix extreme low-latency setting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday  2 May 2017, at 10:34, Johan Hovold wrote:
> On Fri, Apr 28, 2017 at 11:27:20AM +0200, Anthony Mallet wrote:
> > This is due to commit 557aaa7
> > https://github.com/torvalds/linux/commit/557aaa7ffab639d0190b935a041b16ae44606342
> > that silently/partially ignores the ASYNC_LOW_LATENCY flag in
> > set_serial_info(), without returning EPERM, although
> > ASYNC_LOW_LATENCY is explicitly listed in ASYNC_USR_MASK.
>
> Actually that commit did enable non-privileged users to set the flag, but
> it would not take effect until next open. A later commit then broke this
> behaviour, but no one has noticed for about seven years.

OK. Thanks for reviewing this.
(Not taking effect until next open was a bit bad too, I think).

> Yes, this looks like the right fix.
>
> Are you going to submit this as a proper patch that we can apply?

Sure (I was just AFK for the week-end).

Is it OK like this ?

--- drivers/usb/serial/ftdi_sio.c~	2017-04-28 11:20:30.339227000 +0200
+++ drivers/usb/serial/ftdi_sio.c	2017-04-28 11:20:52.647773000 +0200
@@ -1505,9 +1505,9 @@ static int set_serial_info(struct tty_st
 					(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)
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux