For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.
***
Subject: Re: [syzbot] [input?] [usb?] WARNING in cm109_urb_irq_callback
Author: yiconghui@gmail.com
#syz test:
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
--- a/drivers/input/misc/cm109.c
+++ b/drivers/input/misc/cm109.c
@@ -375,13 +375,17 @@ static void cm109_submit_ctl(struct cm109_dev *dev)
dev->ctl_data->byte[HID_OR2] = dev->keybit;
dev->buzzer_pending = 0;
- dev->ctl_urb_pending = 1;
- error = usb_submit_urb(dev->urb_ctl, GFP_ATOMIC);
- if (error)
- dev_err(&dev->intf->dev,
- "%s: usb_submit_urb (urb_ctl) failed %d\n",
- __func__, error);
+ if (!dev->ctl_urb_pending) {
+ dev->ctl_urb_pending = 1;
+
+
+ error = usb_submit_urb(dev->urb_ctl, GFP_ATOMIC);
+ if (error)
+ dev_err(&dev->intf->dev,
+ "%s: usb_submit_urb (urb_ctl) failed %d\n",
+ __func__, error);
+ }
}
/*
--