ALSA: hiface: Fix M2Tech hiFace driver sampling rate change
authorJussi Laako <jussi@sonarnerd.net>
Mon, 28 Nov 2016 09:27:45 +0000 (11:27 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 12 Dec 2016 21:46:43 +0000 (22:46 +0100)
Sampling rate changes after first set one are not reflected to the
hardware, while driver and ALSA think the rate has been changed.

Fix the problem by properly stopping the interface at the beginning of
prepare call, allowing new rate to be set to the hardware. This keeps
the hardware in sync with the driver.

Signed-off-by: Jussi Laako <jussi@sonarnerd.net>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/hiface/pcm.c

index 2c44139b404188607fc47e863aa9b33419ae5fcc..33db205dd12b57d8b53436d5fd2eb9ff6cc2a22a 100644 (file)
@@ -445,6 +445,8 @@ static int hiface_pcm_prepare(struct snd_pcm_substream *alsa_sub)
 
        mutex_lock(&rt->stream_mutex);
 
+       hiface_pcm_stream_stop(rt);
+
        sub->dma_off = 0;
        sub->period_off = 0;