* [PATCH 0/1] usb: core: Add quirk for Gigabyte Aorus Waterforce X II AIO coolers
@ 2026-02-03 22:10 Lyude Paul
2026-02-03 22:10 ` [PATCH 1/1] " Lyude Paul
0 siblings, 1 reply; 4+ messages in thread
From: Lyude Paul @ 2026-02-03 22:10 UTC (permalink / raw)
To: linux-kernel, linux-usb
Cc: Jiayi Li, Mathias Nyman, Oliver Neukum, Miao Li,
Johannes Brüderl, Lei Huang, Lyude Paul, Greg Kroah-Hartman
This appears to be the final bug that I've discovered on my newly built
desktop - the liquid cooler I installed doesn't appear to reset properly
during resume, and causes the kernel to print some errors (see the
commit message for more info). As far as I can tell, it seems to just be
a simple case of not supporting resets.
It's worth mentioning what the USB topology for this device actually
looks like:
/: Bus 007.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/12p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
|__ Port 010: Dev 006, If 0, Class=Hub, Driver=hub/4p, 480M
ID 05e3:0608 Genesys Logic, Inc. Hub
|__ Port 004: Dev 015, If 0, Class=Human Interface Device, Driver=usbhid, 480M
ID 0414:7a5e Giga-Byte Technology Co., Ltd
To be clear, I believe the second hub (Genesys Logic) is built into the
liquid cooler itself. Since there seem to be a number of known issues
with Genesys Logic hubs (at least according to our quirks file) I did
give a try at applying various quirks to it, but none of them seemed to
make any difference.
Of course, if anyone thinks there's more things I should try here feel
free to let me know :).
Lyude Paul (1):
usb: core: Add quirk for Gigabyte Aorus Waterforce X II AIO coolers
drivers/usb/core/quirks.c | 3 +++
1 file changed, 3 insertions(+)
base-commit: de0674d9bc69699c497477d45172493393ae9007
--
2.52.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/1] usb: core: Add quirk for Gigabyte Aorus Waterforce X II AIO coolers
2026-02-03 22:10 [PATCH 0/1] usb: core: Add quirk for Gigabyte Aorus Waterforce X II AIO coolers Lyude Paul
@ 2026-02-03 22:10 ` Lyude Paul
2026-02-04 5:16 ` Greg Kroah-Hartman
0 siblings, 1 reply; 4+ messages in thread
From: Lyude Paul @ 2026-02-03 22:10 UTC (permalink / raw)
To: linux-kernel, linux-usb
Cc: Jiayi Li, Mathias Nyman, Oliver Neukum, Miao Li,
Johannes Brüderl, Lei Huang, Lyude Paul, Greg Kroah-Hartman
The "Aorus Waterforce" is one of those fancy gaming water coolers that
comes with fun LEDs and an entire dedicated LCD screen. A minor issue I've
noticed with this cooler on Linux, is that we fail to actually
reset the device when coming out of standby, ish:
[ 281.652184] usb 7-10.4: reset high-speed USB device number 7 using xhci_hcd
[ 287.179843] usb 7-10.4: PM: dpm_run_callback(): usb_dev_resume returns -5
[ 287.179854] usb 7-10.4: PM: failed to resume async: error -5
Generally this isn't fatal, as even when the water cooler doesn't resume it
will still reconnect itself moments later:
15:48:12 GoldenWind kernel: usb 7-10.4: USB disconnect, device number 14
15:48:12 GoldenWind kernel: usb 7-10.4: new high-speed USB device number
15 using xhci_hcd
15:48:14 GoldenWind kernel: usb 7-10.4: New USB device found,
idVendor=0414, idProduct=7a5e, bcdDevice= 2.00
15:48:14 GoldenWind kernel: usb 7-10.4: New USB device strings: Mfr=1,
Product=2, SerialNumber=0
15:48:14 GoldenWind kernel: usb 7-10.4: Product: Castor3
15:48:14 GoldenWind kernel: usb 7-10.4: Manufacturer: ITE Tech.
15:48:14 GoldenWind kernel: hid-generic 0003:0414:7A5E.000D:
hiddev98,hidraw2: USB HID v1.01 Device [ITE Tech. Castor3] on
usb-0000:74:00.0-10.4/input0
My guess here is that the device simply doesn't support resets properly -
since that seems to be the only quirk I've found that actually works. Note
that the device still ends up disconnecting and reconnecting after resume,
but this seems to be normal behavior.
So, let's fix this by adding the USB_QUIRK_RESET quirk for this USB device.
This seems to work perfectly fine and prevents us from getting the
aforementioned errors on resume.
Signed-off-by: Lyude Paul <lyude@redhat.com>
---
drivers/usb/core/quirks.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index c4d85089d19b1..9a81994ee725b 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -584,6 +584,9 @@ static const struct usb_device_id usb_quirk_list[] = {
/* INTEL VALUE SSD */
{ USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },
+ /* Gigabyte ITE Tech. Castor3 (Aorus Waterforce X II AIO coolers) */
+ { USB_DEVICE(0x0414, 0x7a5e), .driver_info = USB_QUIRK_RESET },
+
{ } /* terminating entry must be last */
};
--
2.52.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] usb: core: Add quirk for Gigabyte Aorus Waterforce X II AIO coolers
2026-02-03 22:10 ` [PATCH 1/1] " Lyude Paul
@ 2026-02-04 5:16 ` Greg Kroah-Hartman
2026-02-05 20:19 ` lyude
0 siblings, 1 reply; 4+ messages in thread
From: Greg Kroah-Hartman @ 2026-02-04 5:16 UTC (permalink / raw)
To: Lyude Paul
Cc: linux-kernel, linux-usb, Jiayi Li, Mathias Nyman, Oliver Neukum,
Miao Li, Johannes Brüderl, Lei Huang
On Tue, Feb 03, 2026 at 05:10:27PM -0500, Lyude Paul wrote:
> The "Aorus Waterforce" is one of those fancy gaming water coolers that
> comes with fun LEDs and an entire dedicated LCD screen. A minor issue I've
> noticed with this cooler on Linux, is that we fail to actually
> reset the device when coming out of standby, ish:
>
> [ 281.652184] usb 7-10.4: reset high-speed USB device number 7 using xhci_hcd
> [ 287.179843] usb 7-10.4: PM: dpm_run_callback(): usb_dev_resume returns -5
> [ 287.179854] usb 7-10.4: PM: failed to resume async: error -5
>
> Generally this isn't fatal, as even when the water cooler doesn't resume it
> will still reconnect itself moments later:
>
> 15:48:12 GoldenWind kernel: usb 7-10.4: USB disconnect, device number 14
> 15:48:12 GoldenWind kernel: usb 7-10.4: new high-speed USB device number
> 15 using xhci_hcd
> 15:48:14 GoldenWind kernel: usb 7-10.4: New USB device found,
> idVendor=0414, idProduct=7a5e, bcdDevice= 2.00
> 15:48:14 GoldenWind kernel: usb 7-10.4: New USB device strings: Mfr=1,
> Product=2, SerialNumber=0
> 15:48:14 GoldenWind kernel: usb 7-10.4: Product: Castor3
> 15:48:14 GoldenWind kernel: usb 7-10.4: Manufacturer: ITE Tech.
> 15:48:14 GoldenWind kernel: hid-generic 0003:0414:7A5E.000D:
> hiddev98,hidraw2: USB HID v1.01 Device [ITE Tech. Castor3] on
> usb-0000:74:00.0-10.4/input0
>
> My guess here is that the device simply doesn't support resets properly -
> since that seems to be the only quirk I've found that actually works. Note
> that the device still ends up disconnecting and reconnecting after resume,
> but this seems to be normal behavior.
>
> So, let's fix this by adding the USB_QUIRK_RESET quirk for this USB device.
> This seems to work perfectly fine and prevents us from getting the
> aforementioned errors on resume.
>
> Signed-off-by: Lyude Paul <lyude@redhat.com>
> ---
> drivers/usb/core/quirks.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
> index c4d85089d19b1..9a81994ee725b 100644
> --- a/drivers/usb/core/quirks.c
> +++ b/drivers/usb/core/quirks.c
> @@ -584,6 +584,9 @@ static const struct usb_device_id usb_quirk_list[] = {
> /* INTEL VALUE SSD */
> { USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },
>
> + /* Gigabyte ITE Tech. Castor3 (Aorus Waterforce X II AIO coolers) */
> + { USB_DEVICE(0x0414, 0x7a5e), .driver_info = USB_QUIRK_RESET },
Please see the comments for this structure on how to place this device
in the list.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] usb: core: Add quirk for Gigabyte Aorus Waterforce X II AIO coolers
2026-02-04 5:16 ` Greg Kroah-Hartman
@ 2026-02-05 20:19 ` lyude
0 siblings, 0 replies; 4+ messages in thread
From: lyude @ 2026-02-05 20:19 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: linux-kernel, linux-usb, Jiayi Li, Mathias Nyman, Oliver Neukum,
Miao Li, Johannes Brüderl, Lei Huang
On Wed, 2026-02-04 at 06:16 +0100, Greg Kroah-Hartman wrote:
> > USB_QUIRK_RESET_RESUME },
> >
> > + /* Gigabyte ITE Tech. Castor3 (Aorus Waterforce X II AIO
> > coolers) */
> > + { USB_DEVICE(0x0414, 0x7a5e), .driver_info =
> > USB_QUIRK_RESET },
>
> Please see the comments for this structure on how to place this
> device
> in the list.
aha-whoops, my bad :). I'll respin a new version in a bit
>
> thanks,
>
> greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-02-05 20:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-03 22:10 [PATCH 0/1] usb: core: Add quirk for Gigabyte Aorus Waterforce X II AIO coolers Lyude Paul
2026-02-03 22:10 ` [PATCH 1/1] " Lyude Paul
2026-02-04 5:16 ` Greg Kroah-Hartman
2026-02-05 20:19 ` lyude
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox