Re: [PATCH] USB: cdc-acm: expose serial close_delay and closing_wait in sysfs

From: Alan Stern
Date: Thu Aug 24 2023 - 21:54:35 EST


On Fri, Aug 25, 2023 at 01:46:15AM +0200, Oliver Neukum wrote:
>
>
> On 24.08.23 20:02, Simon Arlott wrote:
> > The ioctl can't be used without opening and closing the tty, which has
> > side effects. On open() it'll raise DTR/RTS and activate it. For cdc-acm
> > that will indicate to the device that the serial port has been opened
> > which will be visible to the software running on the USB device. On
> > close() it'll be delayed by the close_delay if any process is currently
> > doing a blocking open() and there's no carrier, then the closing_wait
> > time if there's been any incomplete transmitted data (by any process).
>
> And that is an issue of the generic serial layer.

Is it feasible to add a sysfs attribute for ttys or the serial layer to
control the side effect of opening (avoid raising DTR/RTS)? If that
could be done, a program could use the existing ioctl to set close_delay
and closing_wait to 0 with no penalties.

This would be racy, but for the purposes of udev that shouldn't matter
much.

Alan Stern