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