diff options
author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2014-10-10 23:32:49 +0900 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-10-30 09:40:17 -0700 |
commit | 9876302e387981b02dddd2c0a0171cf943de99e1 (patch) | |
tree | 9984dac4445f938f66b77b847b8845523f91e616 /sound | |
parent | 5d80a07983d645b5c53b1ab2858d97c8258a6399 (diff) | |
download | linux-stable-9876302e387981b02dddd2c0a0171cf943de99e1.tar.gz linux-stable-9876302e387981b02dddd2c0a0171cf943de99e1.tar.bz2 linux-stable-9876302e387981b02dddd2c0a0171cf943de99e1.zip |
ALSA: bebob: Fix failure to detect source of clock for Terratec Phase 88
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>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/firewire/bebob/bebob_terratec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/firewire/bebob/bebob_terratec.c b/sound/firewire/bebob/bebob_terratec.c index eef8ea7d9b97..0e4c0bfc463b 100644 --- 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_bebob *bebob, unsigned int *id) 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; |