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. > > 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,