From 4b81c566762562a0668705513ad96de930d052d1 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Fri, 8 Sep 2006 12:30:03 +0200 Subject: [PATCH] --- yaml --- r: 34949 b: refs/heads/master c: 43001c9515cf87935c50e84b3e27b1f3b3776b5d h: refs/heads/master i: 34947: 7d93e3713dce80ccf3871180c42cde18d5d4ffac v: v3 --- [refs] | 2 +- trunk/sound/pci/hda/hda_intel.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 683d83393c1d..cccdcc64d9b6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 854b66e44260320c21ebe4b8a18e189f2e45b5be +refs/heads/master: 43001c9515cf87935c50e84b3e27b1f3b3776b5d diff --git a/trunk/sound/pci/hda/hda_intel.c b/trunk/sound/pci/hda/hda_intel.c index 6309e0c67e6a..4d2df771112e 100644 --- a/trunk/sound/pci/hda/hda_intel.c +++ b/trunk/sound/pci/hda/hda_intel.c @@ -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);