diff options
author | Rajat Asthana <rajatasthana4@gmail.com> | 2021-08-18 22:31:10 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-11-26 11:58:37 +0100 |
commit | 98c628eee2fac7fd34e54317c7089170f94f0cf8 (patch) | |
tree | 3cc424f8a26cb6da6f73633f6341175d246a81c7 /drivers/media | |
parent | 5f7cf9bc3f6bc1d23a7d0f37cc8e325e0baf0c83 (diff) |
media: mceusb: return without resubmitting URB in case of -EPROTO error.
[ Upstream commit 476db72e521983ecb847e4013b263072bb1110fc ]
Syzkaller reported a warning called "rcu detected stall in dummy_timer".
The error seems to be an error in mceusb_dev_recv(). In the case of
-EPROTO error, the routine immediately resubmits the URB. Instead it
should return without resubmitting URB.
Reported-by: syzbot+4d3749e9612c2cfab956@syzkaller.appspotmail.com
Signed-off-by: Rajat Asthana <rajatasthana4@gmail.com>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/rc/mceusb.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c index 0fba4a2c1602..7b9800d3446c 100644 --- a/drivers/media/rc/mceusb.c +++ b/drivers/media/rc/mceusb.c @@ -1079,6 +1079,7 @@ static void mceusb_dev_recv(struct urb *urb) case -ECONNRESET: case -ENOENT: case -EILSEQ: + case -EPROTO: case -ESHUTDOWN: usb_unlink_urb(urb); return; |