diff options
author | Takashi Iwai <tiwai@suse.de> | 2006-09-07 06:40:00 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-09-23 04:46:42 -0400 |
commit | dafbbb1fdbf103b24d0f7aa645625b6bd558c896 (patch) | |
tree | 889cc11043b4f3edd06a1aa8a0089aa06249eb36 | |
parent | cd417d4fe89638a2848980cb389b9781d4913173 (diff) |
[ALSA] hda-intel - Fix pci_disable_msi() call
Fix the order to call pci_disable_msi() to be after free_irq().
(Otherwise pci_disable_msi() bugs you.)
Also, added a description of disable_msi option to documentation.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
-rw-r--r-- | Documentation/sound/alsa/ALSA-Configuration.txt | 1 | ||||
-rw-r--r-- | sound/pci/hda/hda_intel.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index 1b749947233c..e6b57dd46a4f 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt | |||
@@ -758,6 +758,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
758 | position_fix - Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size) | 758 | position_fix - Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size) |
759 | single_cmd - Use single immediate commands to communicate with | 759 | single_cmd - Use single immediate commands to communicate with |
760 | codecs (for debugging only) | 760 | codecs (for debugging only) |
761 | disable_msi - Disable Message Signaled Interrupt (MSI) | ||
761 | 762 | ||
762 | This module supports one card and autoprobe. | 763 | This module supports one card and autoprobe. |
763 | 764 | ||
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index cc50d13ee90c..bfd74a526b85 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
@@ -1422,8 +1422,9 @@ static int azx_free(struct azx *chip) | |||
1422 | } | 1422 | } |
1423 | 1423 | ||
1424 | if (chip->irq >= 0) { | 1424 | if (chip->irq >= 0) { |
1425 | pci_disable_msi(chip->pci); | ||
1426 | free_irq(chip->irq, (void*)chip); | 1425 | free_irq(chip->irq, (void*)chip); |
1426 | if (!disable_msi) | ||
1427 | pci_disable_msi(chip->pci); | ||
1427 | } | 1428 | } |
1428 | if (chip->remap_addr) | 1429 | if (chip->remap_addr) |
1429 | iounmap(chip->remap_addr); | 1430 | iounmap(chip->remap_addr); |