Re: [REGRESSION] snd-usb-audio: commit da3a7efff64e ("ALSA: usb-audio: Update for native DSD support quirks") breaks DSD playback on Musical Fidelity M6s DAC (2772:0502), plays ~8.8% fast
Takashi Iwai <[email protected]> Thu, 09 Jul 2026 09:33:10 +0200
| Newsgroups | org.alsa-project.alsa-devel,dev.linux.lists.regressions |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 09 Jul 2026 00:28:00 +0200,
Jussi Laako wrote:
>
> Hi,
>
> I don’t think we currently have exclusion method for devices with buggy firmware, which claim to support native DSD, but do it incorrectly. And reverting with device specific white-listing is not a good approach for future maintenance. Having to device-specific white-list each new device appearing on the market from the manufacturer just because some old device is broken is not really a sustainable model.
While I fully agree that white-listing all needed devices won't scale,
blacklisting the broken device might work. We can an empty quirk
entry for 2772:0502 for skipping the vendor match, something like
below, as an ad hoc fix.
Though, this blindly assumes that there aren't so many broken devices,
and there will be no firmware fix or another model that works with the
same ID. If a model is relatively new and/or the vendor often updates
the firmware, such an entry can be risky, too.
thanks,
Takashi
-- 8< --
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -2463,6 +2463,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
QUIRK_FLAG_DSD_RAW),
DEVICE_FLG(0x2708, 0x0002, /* Audient iD14 */
QUIRK_FLAG_IGNORE_CTL_ERROR),
+ DEVICE_FLG(0x2772, 0x0502, /* Musical Fidelity M6s DAC */
+ 0), /* for avoiding QUIRK_FLAG_DSD_RAW with vendor match */
DEVICE_FLG(0x2912, 0x30c8, /* Audioengine D1 */
QUIRK_FLAG_GET_SAMPLE_RATE),
DEVICE_FLG(0x2a70, 0x1881, /* OnePlus Technology (Shenzhen) Co., Ltd. BE02T */