Support for NUX MG-300 USB interface
Takashi Iwai
tiwai at suse.de
Mon Jan 18 20:19:37 CET 2021
On Mon, 18 Jan 2021 18:54:57 +0100,
Mike Oliphant wrote:
>
> Here is the dmesg output with dyndbg enabled. It looks like it is failing
> to find the clock source, and hence cannot obtain the valid sample rates.
>
> It looks like it is finding the clock selector (id: 40), but
> "uac_clock_selector_get_val()" is returning zero, and it never gets the
> clock source (id: 41).
Aha. Maybe the firmware doesn't expect it being asked as it's the
single connection.
Does the patch below help anything?
Takashi
--- a/sound/usb/clock.c
+++ b/sound/usb/clock.c
@@ -298,6 +298,11 @@ static int __uac_clock_find_source(struct snd_usb_audio *chip,
if (selector) {
int ret, i, cur;
+ if (selector->bNrInPins == 1) {
+ ret = 1;
+ goto find_source;
+ }
+
/* the entity ID we are looking for is a selector.
* find out what it currently selects */
ret = uac_clock_selector_get_val(chip, selector->bClockID);
@@ -314,6 +319,7 @@ static int __uac_clock_find_source(struct snd_usb_audio *chip,
return -EINVAL;
}
+ find_source:
cur = ret;
ret = __uac_clock_find_source(chip, fmt,
selector->baCSourceID[ret - 1],
More information about the Alsa-devel
mailing list