diff options
Diffstat (limited to 'sound/pci/ac97/ac97_codec.c')
-rw-r--r-- | sound/pci/ac97/ac97_codec.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c index a79e91850ba3..6577b2325357 100644 --- a/sound/pci/ac97/ac97_codec.c +++ b/sound/pci/ac97/ac97_codec.c | |||
@@ -570,8 +570,7 @@ int snd_ac97_put_volsw(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value | |||
570 | ac97->power_up &= ~(1 << (reg>>1)); | 570 | ac97->power_up &= ~(1 << (reg>>1)); |
571 | else | 571 | else |
572 | ac97->power_up |= 1 << (reg>>1); | 572 | ac97->power_up |= 1 << (reg>>1); |
573 | if (power_save) | 573 | update_power_regs(ac97); |
574 | update_power_regs(ac97); | ||
575 | } | 574 | } |
576 | #endif | 575 | #endif |
577 | return err; | 576 | return err; |
@@ -2337,10 +2336,7 @@ int snd_ac97_update_power(struct snd_ac97 *ac97, int reg, int powerup) | |||
2337 | } | 2336 | } |
2338 | } | 2337 | } |
2339 | 2338 | ||
2340 | if (! power_save) | 2339 | if (power_save && !powerup && ac97->power_workq) |
2341 | return 0; | ||
2342 | |||
2343 | if (! powerup && ac97->power_workq) | ||
2344 | /* adjust power-down bits after two seconds delay | 2340 | /* adjust power-down bits after two seconds delay |
2345 | * (for avoiding loud click noises for many (OSS) apps | 2341 | * (for avoiding loud click noises for many (OSS) apps |
2346 | * that open/close frequently) | 2342 | * that open/close frequently) |