diff -urpN --exclude-from=/home/davej/.exclude bk-linus/sound/oss/i810_audio.c linux-2.5/sound/oss/i810_audio.c --- bk-linus/sound/oss/i810_audio.c 2002-11-21 02:26:05.000000000 +0000 +++ linux-2.5/sound/oss/i810_audio.c 2002-11-21 18:06:19.000000000 +0000 @@ -2686,6 +2705,14 @@ static int __init i810_ac97_init(struct break; } + codec->codec_write(codec, AC97_EXTENDED_MODEM_ID, 0L); + if(codec->codec_read(codec, AC97_EXTENDED_MODEM_ID)) + { + printk(KERN_WARNING "i810_audio: codec %d is a softmodem - skipping.\n", num_ac97); + kfree(codec); + continue; + } + card->ac97_features = eid; /* Now check the codec for useful features to make up for