[ALSA] hda-intel - Fix suspend/resume with MSI
Fixed suspend/resume with MSI enablement. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This commit is contained in:
parent
854b66e442
commit
43001c9515
|
@ -1381,6 +1381,10 @@ static int azx_suspend(struct pci_dev *pci, pm_message_t state)
|
|||
snd_pcm_suspend_all(chip->pcm[i]);
|
||||
snd_hda_suspend(chip->bus, state);
|
||||
azx_free_cmd_io(chip);
|
||||
if (chip->irq >= 0)
|
||||
free_irq(chip->irq, chip);
|
||||
if (!disable_msi)
|
||||
pci_disable_msi(chip->pci);
|
||||
pci_disable_device(pci);
|
||||
pci_save_state(pci);
|
||||
return 0;
|
||||
|
@ -1393,6 +1397,12 @@ static int azx_resume(struct pci_dev *pci)
|
|||
|
||||
pci_restore_state(pci);
|
||||
pci_enable_device(pci);
|
||||
if (!disable_msi)
|
||||
pci_enable_msi(pci);
|
||||
/* FIXME: need proper error handling */
|
||||
request_irq(pci->irq, azx_interrupt, IRQF_DISABLED|IRQF_SHARED,
|
||||
"HDA Intel", chip);
|
||||
chip->irq = pci->irq;
|
||||
pci_set_master(pci);
|
||||
azx_init_chip(chip);
|
||||
snd_hda_resume(chip->bus);
|
||||
|
|
Loading…
Reference in New Issue