Re: [PATCH AUTOSEL 3.18 36/98] usb: serial: handle -ENODEV quietly in generic_submit_read_urb

Johan Hovold
2018-10-26T08:39:29Z

Hi Sasha,

On Thu, Oct 25, 2018 at 10:17:51AM -0400, Sasha Levin wrote:
> From: Jeremiah Mahler <jmmahler@gmail.com>
>
> [ Upstream commit 04f9c6e6d17584340fb6c8a9469a0e6df28876d2 ]
>
> If a USB serial device (e.g. /dev/ttyUSB0) with an active program is
> unplugged, an -ENODEV (19) error will be produced after it gives up
> trying to resubmit a read.
>
> usb_serial_generic_submit_read_urb - usb_submit_urb failed: -19
>
> Add -ENODEV as one of the permanent errors along with -EPERM that
> usb_serial_generic_submit_read_urb() handles quietly without an error.
>
> Signed-off-by: Jeremiah Mahler <jmmahler@gmail.com>
> Signed-off-by: Johan Hovold <johan@kernel.org>
> Signed-off-by: Sasha Levin <sashal@kernel.org>

This isn't a bug fix, but more of a clean up patch and hence does not
qualify for stable. So specifically the stable tag was left out on
purpose.

I never got a chance to talk to you in Edinburgh, but Greg mentioned you
had an opt-out list for your autosel work which I'd like to be added to.

I always mark bug fixes that qualify for stable as such so anything else
that your process picks up would already have been considered and
rejected by me.

Thanks,
Johan

> ---
> drivers/usb/serial/generic.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c
> index c44b911937e8..54e170dd3dad 100644
> --- a/drivers/usb/serial/generic.c
> +++ b/drivers/usb/serial/generic.c
> @@ -287,7 +287,7 @@ static int usb_serial_generic_submit_read_urb(struct usb_serial_port *port,
>
> res = usb_submit_urb(port->read_urbs[index], mem_flags);
> if (res) {
> - if (res != -EPERM) {
> + if (res != -EPERM && res != -ENODEV) {
> dev_err(&port->dev,
> "%s - usb_submit_urb failed: %d\n",
> __func__, res);