[PATCH] ALSA: usb-audio: Add quirk flag for ASUS SupremeFX Hi-Fi

Roman Bolotov posted 1 patch 1 day, 6 hours ago
sound/usb/quirks.c | 4 ++++
1 file changed, 4 insertions(+)
[PATCH] ALSA: usb-audio: Add quirk flag for ASUS SupremeFX Hi-Fi
Posted by Roman Bolotov 1 day, 6 hours ago
The ASUS SupremeFX Hi-Fi (0b05:1826, 0b05:1827) does not survive USB
autosuspend.  After a suspend/resume cycle the firmware degrades: HID
probes begin to fail and the descriptors it returns become corrupted,
until the device stops responding entirely and needs a physical power
cycle to recover.

Add QUIRK_FLAG_DISABLE_AUTOSUSPEND for both product IDs.

Verified on 7.2.6 through the quirk_flags module parameter, with no
code change, and with the local udev rules that had been forcing
power/control commented out, so the parameter was the only mechanism
in play.  Both IDs were passed as

  0b05:1827:disable_autosuspend;0b05:1826:disable_autosuspend

The device then stayed awake across 2.5 hours (runtime_suspended_time
remained 0), survived a system suspend/resume cycle, and continued to
work afterwards with no failed probes and no power cycle needed.

Signed-off-by: Roman Bolotov <hadros@ikeepitoblique.com>
---
 sound/usb/quirks.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index c659d6d..7d76c33 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -2517,6 +2517,10 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
 		   QUIRK_FLAG_CTL_MSG_DELAY_1M),
 	DEVICE_FLG(0x0a73, 0x003a, /* Mackie DLZ Creator XS */
 		   QUIRK_FLAG_ALWAYS_SET_RATE),
+	DEVICE_FLG(0x0b05, 0x1826, /* ASUS SupremeFX Hi-Fi */
+		   QUIRK_FLAG_DISABLE_AUTOSUSPEND),
+	DEVICE_FLG(0x0b05, 0x1827, /* ASUS SupremeFX Hi-Fi */
+		   QUIRK_FLAG_DISABLE_AUTOSUSPEND),
 	DEVICE_FLG(0x0b05, 0x18a6, /* ASUSTek Computer, Inc. */
 		   QUIRK_FLAG_MIXER_CAPTURE_MIN_MUTE),
 	DEVICE_FLG(0x0b0e, 0x0349, /* Jabra 550a */
-- 
2.55.0