projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7fde617
)
ALSA: usb-audio: Do not expose PCM and DSD on same altsetting unless DoP
author
Jussi Laako
<jussi@sonarnerd.net>
Thu, 11 Dec 2025 15:22:23 +0000
(17:22 +0200)
committer
Takashi Iwai
<tiwai@suse.de>
Sat, 13 Dec 2025 09:33:22 +0000
(10:33 +0100)
Do not expose DSD altsetting as a PCM one, even if the descriptor claims
it to be PCM instead of special format.
Signed-off-by: Jussi Laako <jussi@sonarnerd.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link:
https://patch.msgid.link/20251211152224.1780782-3-jussi@sonarnerd.net
sound/usb/format.c
patch
|
blob
|
history
diff --git
a/sound/usb/format.c
b/sound/usb/format.c
index
ec95a06
..
64cfe4a
100644
(file)
--- a/
sound/usb/format.c
+++ b/
sound/usb/format.c
@@
-34,6
+34,7
@@
static u64 parse_audio_format_i_type(struct snd_usb_audio *chip,
{
int sample_width, sample_bytes;
u64 pcm_formats = 0;
+ u64 dsd_formats = 0;
switch (fp->protocol) {
case UAC_VERSION_1:
@@
-154,7
+155,9
@@
static u64 parse_audio_format_i_type(struct snd_usb_audio *chip,
fp->iface, fp->altsetting, format);
}
- pcm_formats |= snd_usb_interface_dsd_format_quirks(chip, fp, sample_bytes);
+ dsd_formats |= snd_usb_interface_dsd_format_quirks(chip, fp, sample_bytes);
+ if (dsd_formats && !fp->dsd_dop)
+ pcm_formats = dsd_formats;
return pcm_formats;
}