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>
This commit is contained in:
parent
b0fc5e0434
commit
9e97697666
|
@ -1436,12 +1436,12 @@ static void set_dig_out(struct hda_codec *codec, hda_nid_t nid,
|
||||||
{
|
{
|
||||||
hda_nid_t *d;
|
hda_nid_t *d;
|
||||||
|
|
||||||
snd_hda_codec_write(codec, nid, 0, verb, val);
|
snd_hda_codec_write_cache(codec, nid, 0, verb, val);
|
||||||
d = codec->slave_dig_outs;
|
d = codec->slave_dig_outs;
|
||||||
if (!d)
|
if (!d)
|
||||||
return;
|
return;
|
||||||
for (; *d; d++)
|
for (; *d; d++)
|
||||||
snd_hda_codec_write(codec, *d, 0, verb, val);
|
snd_hda_codec_write_cache(codec, *d, 0, verb, val);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void set_dig_out_convert(struct hda_codec *codec, hda_nid_t nid,
|
static inline void set_dig_out_convert(struct hda_codec *codec, hda_nid_t nid,
|
||||||
|
|
Loading…
Reference in New Issue