Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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);