[alsa-devel] USB Audio Interface / Denon MC7000 and MC8000 controller

Takashi Iwai tiwai at suse.de
Thu Jan 16 14:47:20 CET 2020


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#post11
> 
> 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 -ENXIO; */
 		}
 		return entity_id;
 	}


More information about the Alsa-devel mailing list