diff options
| author | Dave Jones <davej@codemonkey.org.uk> | 2003-05-14 06:45:20 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-05-14 06:45:20 -0700 |
| commit | fb697abe9dabdef5166a55147ff797f72a312e25 (patch) | |
| tree | 1688341d0374571ccaa24cda79f38a4679dc29fd | |
| parent | 3ab340dcc2ed79fc87a236ce0263f4635bc199a6 (diff) | |
[PATCH] i810 no codec fix.
Syncs up with 2.4
| -rw-r--r-- | sound/oss/i810_audio.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/sound/oss/i810_audio.c b/sound/oss/i810_audio.c index f17e0cdaea27..bf69d33df0e8 100644 --- a/sound/oss/i810_audio.c +++ b/sound/oss/i810_audio.c @@ -66,16 +66,19 @@ * * This driver is cursed. (Ben LaHaise) * + * ICH 3 caveats + * Intel errata #7 for ICH3 IO. We need to disable SMI stuff + * when codec probing. [Not Yet Done] * * ICH 4 caveats * - * The ICH4 has the feature, that the codec ID doesn't have to be - * congruent with the IO connection. + * The ICH4 has the feature, that the codec ID doesn't have to be + * congruent with the IO connection. * - * Therefore, from driver version 0.23 on, there is a "codec ID" <-> - * "IO register base offset" mapping (card->ac97_id_map) field. + * Therefore, from driver version 0.23 on, there is a "codec ID" <-> + * "IO register base offset" mapping (card->ac97_id_map) field. * - * Juergen "George" Sawinski (jsaw) + * Juergen "George" Sawinski (jsaw) */ #include <linux/module.h> @@ -640,6 +643,10 @@ static void i810_set_dac_channels(struct i810_state *state, int channel) int aud_reg; struct ac97_codec *codec = state->card->ac97_codec[0]; + /* No codec, no setup */ + if(codec == NULL) + return; + aud_reg = i810_ac97_get(codec, AC97_EXTENDED_STATUS); aud_reg |= AC97_EA_PRI | AC97_EA_PRJ | AC97_EA_PRK; state->card->ac97_status &= ~(SURR_ON | CENTER_LFE_ON); |
