|
@@ -2496,7 +2496,10 @@ void snd_ac97_resume(struct snd_ac97 *ac97)
|
|
|
|
|
|
snd_ac97_write(ac97, AC97_POWERDOWN, 0);
|
|
|
if (! (ac97->flags & AC97_DEFAULT_POWER_OFF)) {
|
|
|
- snd_ac97_write(ac97, AC97_RESET, 0);
|
|
|
+ if (!(ac97->scaps & AC97_SCAP_SKIP_AUDIO))
|
|
|
+ snd_ac97_write(ac97, AC97_RESET, 0);
|
|
|
+ else if (!(ac97->scaps & AC97_SCAP_SKIP_MODEM))
|
|
|
+ snd_ac97_write(ac97, AC97_EXTENDED_MID, 0);
|
|
|
udelay(100);
|
|
|
snd_ac97_write(ac97, AC97_POWERDOWN, 0);
|
|
|
}
|