aboutsummaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorJussi Laako <jussi@sonarnerd.net>2016-11-28 11:27:45 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-01-06 10:40:12 +0100
commitfa2e770f88bcd50a34182792d06a1ff488cbac5c (patch)
tree847f2a692bdfd67179dca9e2327a639be069869e /sound
parent205d3de9637f253dfaeca8a7740af1e9d554c3c7 (diff)
downloadlinux-aarch64-fa2e770f88bcd50a34182792d06a1ff488cbac5c.tar.gz
ALSA: hiface: Fix M2Tech hiFace driver sampling rate change
commit 995c6a7fd9b9212abdf01160f6ce3193176be503 upstream. 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> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/usb/hiface/pcm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/usb/hiface/pcm.c b/sound/usb/hiface/pcm.c
index 2c44139b4041..33db205dd12b 100644
--- a/sound/usb/hiface/pcm.c
+++ b/sound/usb/hiface/pcm.c
@@ -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;