[PATCH] ALSA: usb-audio: Don't refcount multiple accesses on the single clock

Jason A. Donenfeld Jason at zx2c4.com
Wed Sep 7 11:28:54 CEST 2022


On Wed, Sep 07, 2022 at 10:00:46AM +0200, Takashi Iwai wrote:
> On Mon, 05 Sep 2022 14:16:39 +0200,
> Jason A. Donenfeld wrote:
> > 
> > On Mon, Sep 5, 2022 at 1:44 PM Takashi Iwai <tiwai at suse.de> wrote:
> > > When you load snd-usb-audio with dyndbg=+p option, does it show the
> > > new error message "Mismatched sample rate xxx"?
> > 
> > No.
> 
> What about the patch below?
> 
> 
> Takashi
> 
> -- 8< --
> --- a/sound/usb/endpoint.c
> +++ b/sound/usb/endpoint.c
> @@ -925,6 +925,8 @@ void snd_usb_endpoint_close(struct snd_usb_audio *chip,
>  		endpoint_set_interface(chip, ep, false);
>  
>  	if (!--ep->opened) {
> +		if (ep->clock_ref && !atomic_read(&ep->clock_ref->locked))
> +			ep->clock_ref->rate = 0;
>  		ep->iface = 0;
>  		ep->altsetting = 0;
>  		ep->cur_audiofmt = NULL;

I think this works.

Niklāvs - can you give it a try to and confirm?

Jason


More information about the Alsa-devel mailing list