| From 995c6a7fd9b9212abdf01160f6ce3193176be503 Mon Sep 17 00:00:00 2001 |
| From: Jussi Laako <jussi@sonarnerd.net> |
| Date: Mon, 28 Nov 2016 11:27:45 +0200 |
| Subject: ALSA: hiface: Fix M2Tech hiFace driver sampling rate change |
| |
| From: Jussi Laako <jussi@sonarnerd.net> |
| |
| 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> |
| |
| --- |
| sound/usb/hiface/pcm.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/sound/usb/hiface/pcm.c |
| +++ b/sound/usb/hiface/pcm.c |
| @@ -445,6 +445,8 @@ static int hiface_pcm_prepare(struct snd |
| |
| mutex_lock(&rt->stream_mutex); |
| |
| + hiface_pcm_stream_stop(rt); |
| + |
| sub->dma_off = 0; |
| sub->period_off = 0; |
| |