X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=sound%2Fpci%2Femu10k1%2Femu10k1.c;h=8354c1a833129c7300b765ef918462a3852537f6;hb=8d2567a620ae8c24968a2bdc1c906c724fac1f6a;hp=493ec0816bb3f29afab2792add265279e9d03f38;hpb=93f09c4cc111506db2ffa6220b7a3d7f73e41aa3;p=linux-2.6-omap-h63xx.git diff --git a/sound/pci/emu10k1/emu10k1.c b/sound/pci/emu10k1/emu10k1.c index 493ec0816bb..8354c1a8331 100644 --- a/sound/pci/emu10k1/emu10k1.c +++ b/sound/pci/emu10k1/emu10k1.c @@ -1,6 +1,6 @@ /* * The driver for the EMU10K1 (SB Live!) based soundcards - * Copyright (c) by Jaroslav Kysela + * Copyright (c) by Jaroslav Kysela * * Copyright (c) by James Courtier-Dutton * Added support for Audigy 2 Value. @@ -23,7 +23,6 @@ * */ -#include #include #include #include @@ -32,7 +31,7 @@ #include #include -MODULE_AUTHOR("Jaroslav Kysela "); +MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("EMU10K1"); MODULE_LICENSE("GPL"); MODULE_SUPPORTED_DEVICE("{{Creative Labs,SB Live!/PCI512/E-mu APS}," @@ -226,9 +225,9 @@ static int snd_emu10k1_suspend(struct pci_dev *pci, pm_message_t state) snd_emu10k1_done(emu); - pci_set_power_state(pci, PCI_D3hot); pci_disable_device(pci); pci_save_state(pci); + pci_set_power_state(pci, pci_choose_state(pci, state)); return 0; } @@ -237,11 +236,16 @@ static int snd_emu10k1_resume(struct pci_dev *pci) struct snd_card *card = pci_get_drvdata(pci); struct snd_emu10k1 *emu = card->private_data; - pci_restore_state(pci); - pci_enable_device(pci); pci_set_power_state(pci, PCI_D0); + pci_restore_state(pci); + if (pci_enable_device(pci) < 0) { + printk(KERN_ERR "emu10k1: pci_enable_device failed, " + "disabling device\n"); + snd_card_disconnect(card); + return -EIO; + } pci_set_master(pci); - + snd_emu10k1_resume_init(emu); snd_emu10k1_efx_resume(emu); snd_ac97_resume(emu->ac97);