[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2026020403-federal-smite-0740@gregkh>
Date: Wed, 4 Feb 2026 06:16:28 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: Lyude Paul <lyude@...hat.com>
Cc: linux-kernel@...r.kernel.org, linux-usb@...r.kernel.org,
Jiayi Li <lijiayi@...inos.cn>,
Mathias Nyman <mathias.nyman@...ux.intel.com>,
Oliver Neukum <oneukum@...e.com>, Miao Li <limiao@...inos.cn>,
Johannes BrĂ¼derl <johannes.bruederl@...il.com>,
Lei Huang <huanglei@...inos.cn>
Subject: Re: [PATCH 1/1] usb: core: Add quirk for Gigabyte Aorus Waterforce X
II AIO coolers
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@...hat.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
Powered by blists - more mailing lists