[PATCH] usb: core: Ignore remote wakeup for Fintek ttyUSB device to fix S3 auto-wakeup

Jie Deng posted 1 patch 1 month ago
drivers/usb/core/quirks.c | 4 ++++
1 file changed, 4 insertions(+)
[PATCH] usb: core: Ignore remote wakeup for Fintek ttyUSB device to fix S3 auto-wakeup
Posted by Jie Deng 1 month ago
The Fintek ttyUSB device (VID: 0x1934, PID: 0x1202)
has wake-up capability enabled by default, and changes
in the RTS/DTR signals can trigger a remote wake-up.
This behavior causes the system to be automatically
woken up from S3 (Suspend to RAM) state unexpectedly.

To prevent this unwanted auto-wakeup and ensure the system
can stay suspended, add the USB_QUIRK_IGNORE_REMOTE_WAKEUP
quirk to the device entry in usb_quirk_list.

Signed-off-by: Jie Deng <dengjie03@kylinos.cn>
---
 drivers/usb/core/quirks.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index b5b577f0b931..b0856e05580e 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -528,6 +528,10 @@ static const struct usb_device_id usb_quirk_list[] = {
 	{ USB_DEVICE(0x1908, 0x1315), .driver_info =
 			USB_QUIRK_HONOR_BNUMINTERFACES },
 
+	/* Fintek ttyUSB Device */
+	{ USB_DEVICE(0x1934, 0x1202), .driver_info =
+		USB_QUIRK_IGNORE_REMOTE_WAKEUP },
+
 	/* Protocol and OTG Electrical Test Device */
 	{ USB_DEVICE(0x1a0a, 0x0200), .driver_info =
 			USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL },
-- 
2.25.1
Re: [PATCH] usb: core: Ignore remote wakeup for Fintek ttyUSB device to fix S3 auto-wakeup
Posted by Alan Stern 1 month ago
On Wed, Aug 26, 2026 at 04:59:24PM +0800, Jie Deng wrote:
> The Fintek ttyUSB device (VID: 0x1934, PID: 0x1202)
> has wake-up capability enabled by default, and changes
> in the RTS/DTR signals can trigger a remote wake-up.
> This behavior causes the system to be automatically
> woken up from S3 (Suspend to RAM) state unexpectedly.
> 
> To prevent this unwanted auto-wakeup and ensure the system
> can stay suspended, add the USB_QUIRK_IGNORE_REMOTE_WAKEUP
> quirk to the device entry in usb_quirk_list.

Shouldn't this problem be solved in userspace, by disabling wakeup for 
the Fintek device?  What if somebody _wants_ the system to wake up when 
the RTS or DTS signals change?

Alan Stern

> 
> Signed-off-by: Jie Deng <dengjie03@kylinos.cn>
> ---
>  drivers/usb/core/quirks.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
> index b5b577f0b931..b0856e05580e 100644
> --- a/drivers/usb/core/quirks.c
> +++ b/drivers/usb/core/quirks.c
> @@ -528,6 +528,10 @@ static const struct usb_device_id usb_quirk_list[] = {
>  	{ USB_DEVICE(0x1908, 0x1315), .driver_info =
>  			USB_QUIRK_HONOR_BNUMINTERFACES },
>  
> +	/* Fintek ttyUSB Device */
> +	{ USB_DEVICE(0x1934, 0x1202), .driver_info =
> +		USB_QUIRK_IGNORE_REMOTE_WAKEUP },
> +
>  	/* Protocol and OTG Electrical Test Device */
>  	{ USB_DEVICE(0x1a0a, 0x0200), .driver_info =
>  			USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL },
> -- 
> 2.25.1
> 
>