Commit 43001c95 authored by Takashi Iwai's avatar Takashi Iwai Committed by Jaroslav Kysela

[ALSA] hda-intel - Fix suspend/resume with MSI

Fixed suspend/resume with MSI enablement.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@suse.cz>
parent 854b66e4
...@@ -1381,6 +1381,10 @@ static int azx_suspend(struct pci_dev *pci, pm_message_t state) ...@@ -1381,6 +1381,10 @@ static int azx_suspend(struct pci_dev *pci, pm_message_t state)
snd_pcm_suspend_all(chip->pcm[i]); snd_pcm_suspend_all(chip->pcm[i]);
snd_hda_suspend(chip->bus, state); snd_hda_suspend(chip->bus, state);
azx_free_cmd_io(chip); 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_disable_device(pci);
pci_save_state(pci); pci_save_state(pci);
return 0; return 0;
...@@ -1393,6 +1397,12 @@ static int azx_resume(struct pci_dev *pci) ...@@ -1393,6 +1397,12 @@ static int azx_resume(struct pci_dev *pci)
pci_restore_state(pci); pci_restore_state(pci);
pci_enable_device(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); pci_set_master(pci);
azx_init_chip(chip); azx_init_chip(chip);
snd_hda_resume(chip->bus); snd_hda_resume(chip->bus);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment