I applied the patch and when connecting the Denon MC7000 the attached is what dmesg shows... Hope you can find something useful in there.
Please let me know, if I can be of any more help.
Thanks a lot. Tobias
Am 16.01.20 um 14:47 schrieb Takashi Iwai:
On Thu, 16 Jan 2020 12:58:00 +0100, Tobias wrote:
Thank you for taking care of this...
I have tried with the latest Kernel 5.4.11 in Ubuntu 16.04 and $ dmesg still shows "clock source 65 is not valid, cannot use"
My current running stable system is
$ uname -a $ Linux tobias-V130 4.15.0-23-generic #25~16.04.1 SMP Fri Dec 20 20:16:19 CET 2019 x86_64 x86_64 x86_64 GNU/Linux
in where I applied the chane described in here: https://alsa-user.narkive.com/2tDAO87f/troubleshooting-new-usb-audio-device#...
Just for my understanding what you now need me to do... deleting the line in /sound/usb/clock.c that states "return -ENXIO;" and compile the kernel again.
Yes, and with that, the error message still remains. That's not wrong. The question is to identify who calls this function. So...
Clemes mentioned in his last post to add logging but I have no idea what he means by that. Can you briefly guide me what I would need to do?
... try the patch below instead. This should work for the recent kernels. It'll give Oops-like kernel WARNING with stack traces, so show them. There can be multiple occurrences.
Takashi
diff --git a/sound/usb/clock.c b/sound/usb/clock.c index 018b1ecb5404..8d92a946f978 100644 --- a/sound/usb/clock.c +++ b/sound/usb/clock.c @@ -219,10 +219,10 @@ static int __uac_clock_find_source(struct snd_usb_audio *chip, int entity_id, entity_id = source->bClockID; if (validate && !uac_clock_source_is_valid(chip, UAC_VERSION_2, entity_id)) {
usb_audio_err(chip,
WARN(1, "clock source %d is not valid, cannot use\n", entity_id);
return -ENXIO;
} return entity_id; }/* return -ENXIO; */