diff options
| -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) |
