From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Maarten Brock <m.brock@vanmierlo.com>
Cc: Mychaela Falconia <mychaela.falconia@gmail.com>,
Johan Hovold <johan@kernel.org>,
Jiri Slaby <jirislaby@kernel.org>,
"Mychaela N . Falconia" <falcon@freecalypso.org>,
linux-serial@vger.kernel.org, linux-usb@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 0/7] tty: add flag to suppress ready signalling on open
Date: Thu, 10 Dec 2020 11:50:51 +0100 [thread overview]
Message-ID: <X9H9i98E1Gro+mDP@kroah.com> (raw)
In-Reply-To: <6b81cca21561305b55ba8f019b78da28@vanmierlo.com>
On Thu, Dec 10, 2020 at 11:41:24AM +0100, Maarten Brock wrote:
> Hello Mychaela,
>
> On 2020-12-09 23:49, Mychaela Falconia wrote:
> > Greg K-H wrote:
> >
> > > I think we need more review for the rest of the series. This does
> > > change the way serial ports work in a non-traditional way (i.e. using
> > > sysfs instead of terminal settings).
> >
> > But the problem is that the current status quo is fundamentally broken
> > for those hardware devices in which DTR and/or RTS have been repurposed
> > for something other than modem and flow control. Right now whenever a
> > "cold" (never previously opened) serial port is opened for the first
> > time, that open action immediately and unstoppably asserts both DTR
> > and RTS hardware outputs, without giving userspace any opportunity to
> > say "no, please don't do it". Yes, this behaviour is codified in a
> > bunch of standards that ultimately trace back to 1970s Original UNIX,
> > but just because it is a standard does not make it right - this
> > Unix/POSIX/Linux "standard" serial port behaviour is a bug, not a
> > feature.
>
> I agree. And an application not configuring the required handshakes, but
> still relying on them is an equal bug.
>
> > But if there exist some custom hw devices out there that are in the
> > same predicament as my DUART28 adapter, but are different in that they
> > are classic old-fashioned RS-232 rather than integrated USB-serial,
> > with no place to assign a custom USB ID, *then* we need a non-USB-ID-
> > dependent solution such as Johan's sysfs attribute or O_DIRECT.
>
> Any device with a classic old-fashioned RS-232 has probably already
> solved this in another way or is accepted as not working on Linux.
>
> And then there is also the device tree (overlay?) through which a quirk
> like this can be communicated to the kernel driver. Not sure if this
> could help for a plug-and-play device like on USB.
>
> > > So I want to get a bunch of people
> > > to agree that this is ok to do things this way now before taking this
> > > new user-visible api.
>
> Personally, I would prefer the VID:PID to enforce the quirk and an
> O_DIRECT (or other) flag used on open() as general backup plan. To
> me a sysfs solution seems illogical.
The "problem" of a vid:pid is that for usb-serial devices, that only
describes the device that does the conversion itself, NOT the serial
device the converter is plugged into that cares about these types of
line-wiggling.
Just like you would not want to classify all devices that met the PCI
serial class signature for this type of thing either, there is nothing
special about USB here other than it happens to be a common transport
for these signals these days.
thanks,
greg k-h
next prev parent reply other threads:[~2020-12-10 10:50 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-02 11:39 [PATCH v2 0/7] tty: add flag to suppress ready signalling on open Johan Hovold
2020-12-02 11:39 ` [PATCH v2 1/7] tty: use assign_bit() in port-flag accessors Johan Hovold
2020-12-02 11:39 ` [PATCH v2 2/7] tty: use const parameters " Johan Hovold
2020-12-02 11:39 ` [PATCH v2 3/7] tty: add port flag to suppress ready signalling on open Johan Hovold
2020-12-02 11:39 ` [PATCH v2 4/7] serial: core: add sysfs attribute " Johan Hovold
2020-12-02 11:39 ` [PATCH v2 5/7] USB: serial: " Johan Hovold
2020-12-02 11:39 ` [PATCH v2 6/7] USB: serial: ftdi_sio: pass port to quirk port_probe functions Johan Hovold
2020-12-02 11:39 ` [PATCH v2 7/7] USB: serial: ftdi_sio: add support for FreeCalypso DUART28C adapter Johan Hovold
2020-12-02 18:07 ` [PATCH v2 0/7] tty: add flag to suppress ready signalling on open Mychaela Falconia
2020-12-03 9:21 ` Johan Hovold
2020-12-09 14:30 ` Greg Kroah-Hartman
2020-12-09 15:10 ` Johan Hovold
2020-12-09 22:49 ` Mychaela Falconia
2020-12-10 9:06 ` Greg Kroah-Hartman
2020-12-10 10:41 ` Maarten Brock
2020-12-10 10:50 ` Greg Kroah-Hartman [this message]
2020-12-10 12:05 ` Maarten Brock
2020-12-10 13:01 ` Greg Kroah-Hartman
2020-12-10 18:59 ` Mychaela Falconia
2020-12-11 8:46 ` Jiri Slaby
2020-12-11 16:08 ` Greg Kroah-Hartman
2020-12-11 15:51 ` Maarten Brock
2020-12-11 16:08 ` Greg Kroah-Hartman
2020-12-14 14:21 ` Johan Hovold
2020-12-18 18:03 ` Mychaela Falconia
2021-01-07 15:25 ` Greg Kroah-Hartman
[not found] ` <YBPxG+i/ZLP8/wg1@hovoldconsulting.com>
2021-01-31 0:18 ` Mychaela Falconia
2021-01-31 5:24 ` Greg Kroah-Hartman
2020-12-11 10:46 ` Johan Hovold
2020-12-11 10:41 ` Johan Hovold
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=X9H9i98E1Gro+mDP@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=falcon@freecalypso.org \
--cc=jirislaby@kernel.org \
--cc=johan@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=m.brock@vanmierlo.com \
--cc=mychaela.falconia@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.