Commit 5a530b5a authored by Martin Josefsson's avatar Martin Josefsson Committed by Linus Torvalds

[PATCH] Fix ALSA resume

Some time ago, a patch was merged that removed pci_save_state() and
pci_restore_state() from various ALSA drivers. That patch also added
pci_restore_state() to sound/core/init.c but didn't add pci_save_state()
anywhere. This is needed since the core pci handling doesn't do this for
us anymore.

My laptop doesn't resume (gets what I assume is an ACPI timeout and
hangs solid) without this small obvious patch.
Signed-off-by: default avatarMartin Josefsson <gandalf@wlug.westbo.se>
Fixed-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 58561763
......@@ -785,12 +785,15 @@ int snd_card_set_dev_pm_callback(snd_card_t *card, int type,
int snd_card_pci_suspend(struct pci_dev *dev, u32 state)
{
snd_card_t *card = pci_get_drvdata(dev);
int err;
if (! card || ! card->pm_suspend)
return 0;
if (card->power_state == SNDRV_CTL_POWER_D3hot)
return 0;
/* FIXME: correct state value? */
return card->pm_suspend(card, 0);
err = card->pm_suspend(card, 0);
pci_save_state(dev);
return err;
}
int snd_card_pci_resume(struct pci_dev *dev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment