diff options
| author | Takashi Iwai <tiwai@suse.de> | 2008-11-25 02:17:20 -0500 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2008-11-25 04:31:44 -0500 |
| commit | 9e97697666d0e7494946cfb639f6a9faacd5f1b0 (patch) | |
| tree | 397cdf9d0950d511425874b1534003469058aaa9 | |
| parent | b0fc5e043401df4cd243352f1030c4d23e767347 (diff) | |
ALSA: hda - Fix caching of SPDIF status bits
SPDIF status bits controls are written via snd_hda_codec_write()
without caching. This causes a regression at resume that the bits
are lost.
Simply replacing it with the cached version fixes the problem.
Reference:
http://lkml.org/lkml/2008/11/24/324
Signed-off-by: Takashi Iwai <tiwai@suse.de>
| -rw-r--r-- | sound/pci/hda/hda_codec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index ba1ab737b55..eb9164176da 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c | |||
| @@ -1436,12 +1436,12 @@ static void set_dig_out(struct hda_codec *codec, hda_nid_t nid, | |||
| 1436 | { | 1436 | { |
| 1437 | hda_nid_t *d; | 1437 | hda_nid_t *d; |
| 1438 | 1438 | ||
| 1439 | snd_hda_codec_write(codec, nid, 0, verb, val); | 1439 | snd_hda_codec_write_cache(codec, nid, 0, verb, val); |
| 1440 | d = codec->slave_dig_outs; | 1440 | d = codec->slave_dig_outs; |
| 1441 | if (!d) | 1441 | if (!d) |
| 1442 | return; | 1442 | return; |
| 1443 | for (; *d; d++) | 1443 | for (; *d; d++) |
| 1444 | snd_hda_codec_write(codec, *d, 0, verb, val); | 1444 | snd_hda_codec_write_cache(codec, *d, 0, verb, val); |
| 1445 | } | 1445 | } |
| 1446 | 1446 | ||
| 1447 | static inline void set_dig_out_convert(struct hda_codec *codec, hda_nid_t nid, | 1447 | static inline void set_dig_out_convert(struct hda_codec *codec, hda_nid_t nid, |
