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

From: syzbot
Date: Fri Jan 02 2026 - 19:53:20 EST


For archival purposes, forwarding an incoming command email to
linux-kernel@xxxxxxxxxxxxxxx, syzkaller-bugs@xxxxxxxxxxxxxxxx.

***

Subject: Re: [syzbot] [input?] [usb?] WARNING in cm109_urb_irq_callback
Author: yiconghui@xxxxxxxxx

#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);
+    }
 }

 /*
--