Re: [PATCH v2] usb: core: Add quirk for Gigabyte Aorus Waterforce X II AIO coolers

From: lyude

Date: Fri Oct 23 2026 - 15:32:39 EST


Friendly poke

On Mon, 2026-08-24 at 15:53 -0400, 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@xxxxxxxxxx>
>
> ---
> Totally forgot about this patch until now :).
>
> Previous version:
> https://lore.kernel.org/all/20260203221452.198682-2-lyude@xxxxxxxxxx/
>
> V2:
> * Don't forget to sort quirk by vendor ID
>
>  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 b5b577f0b931c..6c4a52a693c05 100644
> --- a/drivers/usb/core/quirks.c
> +++ b/drivers/usb/core/quirks.c
> @@ -217,6 +217,9 @@ static const struct usb_device_id usb_quirk_list[] = {
>   { USB_DEVICE(0x03f0, 0xa31d), .driver_info =
>   USB_QUIRK_DISCONNECT_SUSPEND },
>  
> + /* Gigabyte ITE Tech. Castor3 (Aorus Waterforce X II AIO coolers) */
> + { USB_DEVICE(0x0414, 0x7a5e), .driver_info = USB_QUIRK_RESET },
> +
>   /* Creative SB Audigy 2 NX */
>   { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME },
>  
>
> base-commit: 66498c75b4f8017f62d720d9b59675bdf3abce91