]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/3.16.7/alsa-bebob-fix-failure-to-detect-source-of-clock-for-terratec-phase-88.patch
4.14-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 3.16.7 / alsa-bebob-fix-failure-to-detect-source-of-clock-for-terratec-phase-88.patch
CommitLineData
daf605eb
GKH
1From 3f4032861cfbff0b9134bf94c5c92e2146d1f068 Mon Sep 17 00:00:00 2001
2From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
3Date: Fri, 10 Oct 2014 23:32:49 +0900
4Subject: ALSA: bebob: Fix failure to detect source of clock for Terratec Phase 88
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
10
11commit 3f4032861cfbff0b9134bf94c5c92e2146d1f068 upstream.
12
13This patch fixes a failure to open PCM device with -ENOSYS in
14Terratec Phase 88.
15
16Terratec Phase 88 has two Selector Function Blocks of AVC Audio subunit
17to switch source of clock. One is to switch internal/external for the
18source and another is to switch word/spdif for the external clock.
19
20The IDs for these Selector Function Blocks are 9 and 8. But in current
21implementation they're 0 and 0.
22
23Reported-by: András Murányi <muranyia@gmail.com>
24Tested-by: András Murányi <muranyia@gmail.com>
25Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
26Signed-off-by: Takashi Iwai <tiwai@suse.de>
27Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
28
29---
30 sound/firewire/bebob/bebob_terratec.c | 4 ++--
31 1 file changed, 2 insertions(+), 2 deletions(-)
32
33--- a/sound/firewire/bebob/bebob_terratec.c
34+++ b/sound/firewire/bebob/bebob_terratec.c
35@@ -17,10 +17,10 @@ phase88_rack_clk_src_get(struct snd_bebo
36 unsigned int enable_ext, enable_word;
37 int err;
38
39- err = avc_audio_get_selector(bebob->unit, 0, 0, &enable_ext);
40+ err = avc_audio_get_selector(bebob->unit, 0, 9, &enable_ext);
41 if (err < 0)
42 goto end;
43- err = avc_audio_get_selector(bebob->unit, 0, 0, &enable_word);
44+ err = avc_audio_get_selector(bebob->unit, 0, 8, &enable_word);
45 if (err < 0)
46 goto end;
47