if we have a codec init routine, fail the attach if init fails
This commit is contained in:
parent
7795d19132
commit
04553e63a5
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=60960
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user