ALC889 has two SPDIF outputs: 0x06, 0x10. Board vendors can use either or both. DX58SO uses 0x10, but the driver assumes 0x06. The safe solution is to add 0x10 as slave output to the existing 0x06.
Reported-by: Jeroen Van Breedam jeroen.vanbreedam@sgr5.be Tested-by: Jeroen Van Breedam jeroen.vanbreedam@sgr5.be Signed-off-by: Wu Fengguang fengguang.wu@intel.com --- sound/pci/hda/patch_realtek.c | 5 +++++ 1 file changed, 5 insertions(+)
--- sound-2.6.orig/sound/pci/hda/patch_realtek.c +++ sound-2.6/sound/pci/hda/patch_realtek.c @@ -8764,6 +8764,10 @@ static struct snd_pci_quirk alc883_cfg_t {} };
+static hda_nid_t alc883_slave_dig_outs[] = { + ALC1200_DIGOUT_NID, 0, +}; + static hda_nid_t alc1200_slave_dig_outs[] = { ALC883_DIGOUT_NID, 0, }; @@ -8809,6 +8813,7 @@ static struct alc_config_preset alc883_p .dac_nids = alc883_dac_nids, .dig_out_nid = ALC883_DIGOUT_NID, .dig_in_nid = ALC883_DIGIN_NID, + .slave_dig_outs = alc883_slave_dig_outs, .num_channel_mode = ARRAY_SIZE(alc883_3ST_6ch_intel_modes), .channel_mode = alc883_3ST_6ch_intel_modes, .need_dac_fix = 1,