Revert "Sound: hda - Restore PCI configuration space with interrupts off"
authorTakashi Iwai <tiwai@suse.de>
Mon, 16 Feb 2009 09:13:03 +0000 (10:13 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 16 Feb 2009 09:16:27 +0000 (10:16 +0100)
This reverts commit 32e176c14d7a425b681ef003c9061001ddb7fc7b.

That commit caused a regression with suspend on Thinkpad SL300.

Reference: kernel bug#12711
http://bugzilla.kernel.org/show_bug.cgi?id=12711

Tested-by: Alexandre Rostovtsev <tetromino@gmail.com>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_intel.c

index 11e791b965f6a772588ac7dff64437b3ec836e70..c8d9178f47e59bf327b17433017d24460620a5e5 100644 (file)
@@ -1947,16 +1947,13 @@ static int azx_suspend(struct pci_dev *pci, pm_message_t state)
        return 0;
 }
 
-static int azx_resume_early(struct pci_dev *pci)
-{
-       return pci_restore_state(pci);
-}
-
 static int azx_resume(struct pci_dev *pci)
 {
        struct snd_card *card = pci_get_drvdata(pci);
        struct azx *chip = card->private_data;
 
+       pci_set_power_state(pci, PCI_D0);
+       pci_restore_state(pci);
        if (pci_enable_device(pci) < 0) {
                printk(KERN_ERR "hda-intel: pci_enable_device failed, "
                       "disabling device\n");
@@ -2468,7 +2465,6 @@ static struct pci_driver driver = {
        .remove = __devexit_p(azx_remove),
 #ifdef CONFIG_PM
        .suspend = azx_suspend,
-       .resume_early = azx_resume_early,
        .resume = azx_resume,
 #endif
 };