]>
Commit | Line | Data |
---|---|---|
083ae65c GKH |
1 | From ae24c3191ba2ab03ec6b4be323e730e00404b4b6 Mon Sep 17 00:00:00 2001 |
2 | From: Takashi Iwai <tiwai@suse.de> | |
3 | Date: Mon, 5 Nov 2012 12:32:46 +0100 | |
4 | Subject: ALSA: hda - Force to reset IEC958 status bits for AD codecs | |
5 | ||
6 | From: Takashi Iwai <tiwai@suse.de> | |
7 | ||
8 | commit ae24c3191ba2ab03ec6b4be323e730e00404b4b6 upstream. | |
9 | ||
10 | Several bug reports suggest that the forcibly resetting IEC958 status | |
11 | bits is required for AD codecs to get the SPDIF output working | |
12 | properly after changing streams. | |
13 | ||
14 | Original fix credit to Javeed Shaikh. | |
15 | ||
16 | BugLink: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/359361 | |
17 | ||
18 | Reported-by: Robin Kreis <r.kreis@uni-bremen.de> | |
19 | Signed-off-by: Takashi Iwai <tiwai@suse.de> | |
20 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
21 | ||
22 | --- | |
23 | sound/pci/hda/patch_analog.c | 1 + | |
24 | 1 file changed, 1 insertion(+) | |
25 | ||
26 | --- a/sound/pci/hda/patch_analog.c | |
27 | +++ b/sound/pci/hda/patch_analog.c | |
28 | @@ -545,6 +545,7 @@ static int ad198x_build_pcms(struct hda_ | |
29 | if (spec->multiout.dig_out_nid) { | |
30 | info++; | |
31 | codec->num_pcms++; | |
32 | + codec->spdif_status_reset = 1; | |
33 | info->name = "AD198x Digital"; | |
34 | info->pcm_type = HDA_PCM_TYPE_SPDIF; | |
35 | info->stream[SNDRV_PCM_STREAM_PLAYBACK] = ad198x_pcm_digital_playback; |