| From 3f4032861cfbff0b9134bf94c5c92e2146d1f068 Mon Sep 17 00:00:00 2001 |
| From: Takashi Sakamoto <o-takashi@sakamocchi.jp> |
| Date: Fri, 10 Oct 2014 23:32:49 +0900 |
| Subject: ALSA: bebob: Fix failure to detect source of clock for Terratec Phase 88 |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Takashi Sakamoto <o-takashi@sakamocchi.jp> |
| |
| commit 3f4032861cfbff0b9134bf94c5c92e2146d1f068 upstream. |
| |
| This patch fixes a failure to open PCM device with -ENOSYS in |
| Terratec Phase 88. |
| |
| Terratec Phase 88 has two Selector Function Blocks of AVC Audio subunit |
| to switch source of clock. One is to switch internal/external for the |
| source and another is to switch word/spdif for the external clock. |
| |
| The IDs for these Selector Function Blocks are 9 and 8. But in current |
| implementation they're 0 and 0. |
| |
| Reported-by: András Murányi <muranyia@gmail.com> |
| Tested-by: András Murányi <muranyia@gmail.com> |
| Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/firewire/bebob/bebob_terratec.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/sound/firewire/bebob/bebob_terratec.c |
| +++ b/sound/firewire/bebob/bebob_terratec.c |
| @@ -17,10 +17,10 @@ phase88_rack_clk_src_get(struct snd_bebo |
| unsigned int enable_ext, enable_word; |
| int err; |
| |
| - err = avc_audio_get_selector(bebob->unit, 0, 0, &enable_ext); |
| + err = avc_audio_get_selector(bebob->unit, 0, 9, &enable_ext); |
| if (err < 0) |
| goto end; |
| - err = avc_audio_get_selector(bebob->unit, 0, 0, &enable_word); |
| + err = avc_audio_get_selector(bebob->unit, 0, 8, &enable_word); |
| if (err < 0) |
| goto end; |
| |