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

syzbot posted 1 patch 1 month ago
There is a newer version of this series
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

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