if we have a codec init routine, fail the attach if init fails

This commit is contained in:
Cameron Grant 2000-05-26 21:42:50 +00:00
parent 7795d19132
commit 04553e63a5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=60960

View File

@ -93,7 +93,7 @@ static struct ac97_codecid ac97codecid[] = {
}; };
static char *ac97enhancement[] = { static char *ac97enhancement[] = {
"", "no 3D Stereo Enhancement",
"Analog Devices Phat Stereo", "Analog Devices Phat Stereo",
"Creative Stereo Enhancement", "Creative Stereo Enhancement",
"National Semi 3D Stereo Enhancement", "National Semi 3D Stereo Enhancement",
@ -299,8 +299,12 @@ ac97_initmixer(struct ac97_info *codec)
for (i = 0; i < 32; i++) for (i = 0; i < 32; i++)
codec->mix[i] = ac97mixtable_default[i]; codec->mix[i] = ac97mixtable_default[i];
if (codec->init) if (codec->init) {
codec->init(codec->devinfo); if (codec->init(codec->devinfo)) {
device_printf(codec->dev, "ac97 codec init failed\n");
return ENODEV;
}
}
wrcd(codec, AC97_REG_POWER, 0); wrcd(codec, AC97_REG_POWER, 0);
wrcd(codec, AC97_REG_RESET, 0); wrcd(codec, AC97_REG_RESET, 0);
DELAY(100000); DELAY(100000);