Forwarded: Re: [syzbot] [input?] [usb?] WARNING in cm109_urb_irq_callback

syzbot posted 1 patch 1 month ago
Forwarded: Re: [syzbot] [input?] [usb?] WARNING in cm109_urb_irq_callback
Posted by syzbot 1 month ago
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);
+    }
  }

  /*
--