On Tue, Jun 06, 2023 at 01:39:03PM +0200, Johan Hovold wrote: > On Tue, Jun 06, 2023 at 01:18:19PM +0200, Oliver Neukum wrote: > > On 04.06.23 14:35, Johan Hovold wrote: > > > This series starts returning errors from break handling and also uses > > > that mechanism to report to user space when break signalling is not > > > supported (e.g. when device or driver support is missing). > > > do you eventually want this to be done for all serial devices? > > That is does cdc-acm need something like this patch? > > Looks good to me. If this turns out to confuse userspace we may have to > turn that -ENOTTY into 0 in the tty layer, but we can still use it to > avoid the unnecessary wait to "disable" the break state. > > > From 16430d9f109f904b2bfbac6e43a939209b6c4bc7 Mon Sep 17 00:00:00 2001 > > From: Oliver Neukum <oneukum@xxxxxxxx> > > Date: Tue, 6 Jun 2023 12:57:00 +0200 > > Subject: [PATCH] usb: cdc-acm: return correct error code on unsupported break > > > > Return -ENOTTY if the device says that it doesn't support break > > so that the upper layers get error reporting right. Yeah, when I asked for this, I didn't realize that no devices did this, I thought it was a one-off with this device. There is a distinct possibility that this will break userland. This sounds like a good plan. -corey > > > > Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> > > Acked-by: Johan Hovold <johan@xxxxxxxxxx> > > > --- > > drivers/usb/class/cdc-acm.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c > > index 11da5fb284d0..7751f5728716 100644 > > --- a/drivers/usb/class/cdc-acm.c > > +++ b/drivers/usb/class/cdc-acm.c > > @@ -892,6 +892,9 @@ static int acm_tty_break_ctl(struct tty_struct *tty, int state) > > struct acm *acm = tty->driver_data; > > int retval; > > > > + if (!(acm->ctrl_caps & USB_CDC_CAP_BRK)) > > + return -ENOTTY; > > + > > retval = acm_send_break(acm, state ? 0xffff : 0); > > if (retval < 0) > > dev_dbg(&acm->control->dev,