summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJussi Laako <jussi@sonarnerd.net>2016-11-28 11:27:45 +0200
committerSasha Levin <alexander.levin@verizon.com>2017-01-15 09:49:52 -0500
commit91a34ab02f7d7b838cee3dcbb4aa4f00e5bab60b (patch)
tree3dcbef8fa4e13b1ad8f51c2523a52fb62f86c233
parent81aaf3cb08f3c6560aeeef9f1bf85ea074f3f5ac (diff)
downloadlinux-stable-91a34ab02f7d7b838cee3dcbb4aa4f00e5bab60b.tar.gz
linux-stable-91a34ab02f7d7b838cee3dcbb4aa4f00e5bab60b.tar.bz2
linux-stable-91a34ab02f7d7b838cee3dcbb4aa4f00e5bab60b.zip
ALSA: hiface: Fix M2Tech hiFace driver sampling rate change
[ Upstream commit 995c6a7fd9b9212abdf01160f6ce3193176be503 ] 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> Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
-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;