I have :- Card: Intel ICH5 Chip: Avance Logic ALC650 rev 0
The problem I was having was that the spdif "non-audio" bit was not being set.
This patch fixes that problem.
Cheers James
--- ac97_codec.c.org 2003-08-14 14:19:29.834681728 +0100 +++ ac97_codec.c 2003-08-14 16:11:39.736581128 +0100 @@ -823,7 +825,13 @@ AC97_CXR_SPDIF_MASK | AC97_CXR_COPYRGT, v); } else { + unsigned short extst = ac97->regs[AC97_EXTENDED_STATUS]; + snd_ac97_update_bits(ac97, AC97_EXTENDED_STATUS, AC97_EA_SPDIF, 0); /* turn off */ + change |= snd_ac97_update_bits(ac97, AC97_SPDIF, 0x3fff, val); + if (extst & AC97_EA_SPDIF) { + snd_ac97_update_bits(ac97, AC97_EXTENDED_STATUS, AC97_EA_SPDIF, AC97_EA_SPDIF); /* turn on again */ + } } return change;