Messages in this thread Patch in this message | | | Subject | [PATCH] Fix ALSA resume | From | Martin Josefsson <> | Date | Sat, 04 Dec 2004 22:23:11 +0100 |
| |
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: Martin Josefsson <gandalf@wlug.westbo.se> Fixed-by: Takashi Iwai <tiwai@suse.de>
--- linux/sound/core/init.c 8 Nov 2004 11:37:08 -0000 1.48 +++ linux/sound/core/init.c 12 Nov 2004 13:56:32 -0000 @@ -782,12 +782,15 @@<br> 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)
-- /Martin [unhandled content-type:application/pgp-signature] | |