On Wed, Sep 7, 2022 at 12:04 PM Takashi Iwai <tiwai@xxxxxxx> wrote: > > The recent commit c11117b634f4 ("ALSA: usb-audio: Refcount multiple > accesses on the single clock") tries to manage the clock rate shared > by several endpoints. This was intended for avoiding the unmatched > rate by a different endpoint, but unfortunately, it introduced a > regression for PulseAudio and pipewire, too; those applications try to > probe the multiple possible rates (44.1k and 48kHz) and setting up the > normal rate fails but only the last rate is applied. > > The cause is that the last sample rate is still left to the clock > reference even after closing the endpoint, and this value is still > used at the next open. It happens only when applications set up via > PCM prepare but don't start/stop the stream; the rate is reset when > the stream is stopped, but it's not cleared at close. > > This patch addresses the issue above, simply by clearing the rate set > in the clock reference at the last close of each endpoint. Tested-by: Jason A. Donenfeld <Jason@xxxxxxxxx>