Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 190183
b: refs/heads/master
c: 715aa67
h: refs/heads/master
i:
  190181: 194da29
  190179: ee20cf3
  190175: 646b84b
v: v3
  • Loading branch information
Hans de Goede authored and Takashi Iwai committed Apr 22, 2010
1 parent b05cf25 commit 1199380
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7efbfd1ae98ef9efe06352e2a1ad83e8c14ceeb1
refs/heads/master: 715aa675338ce6e1a3b4f77cf87ea611f93058a8
8 changes: 8 additions & 0 deletions trunk/sound/pci/maestro3.c
Original file line number Diff line number Diff line change
Expand Up @@ -849,6 +849,7 @@ struct snd_m3 {
struct snd_kcontrol *master_switch;
struct snd_kcontrol *master_volume;
struct tasklet_struct hwvol_tq;
unsigned int in_suspend;

#ifdef CONFIG_PM
u16 *suspend_mem;
Expand Down Expand Up @@ -1614,6 +1615,11 @@ static void snd_m3_update_hw_volume(unsigned long private_data)
outb(0x88, chip->iobase + SHADOW_MIX_REG_MASTER);
outb(0x88, chip->iobase + HW_VOL_COUNTER_MASTER);

/* Ignore spurious HV interrupts during suspend / resume, this avoids
mistaking them for a mute button press. */
if (chip->in_suspend)
return;

if (!chip->master_switch || !chip->master_volume)
return;

Expand Down Expand Up @@ -2425,6 +2431,7 @@ static int m3_suspend(struct pci_dev *pci, pm_message_t state)
if (chip->suspend_mem == NULL)
return 0;

chip->in_suspend = 1;
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
snd_pcm_suspend_all(chip->pcm);
snd_ac97_suspend(chip->ac97);
Expand Down Expand Up @@ -2498,6 +2505,7 @@ static int m3_resume(struct pci_dev *pci)
snd_m3_hv_init(chip);

snd_power_change_state(card, SNDRV_CTL_POWER_D0);
chip->in_suspend = 0;
return 0;
}
#endif /* CONFIG_PM */
Expand Down

0 comments on commit 1199380

Please sign in to comment.