summaryrefslogtreecommitdiff
path: root/sound/pci
diff options
context:
space:
mode:
authorSang-Hun Lee <sanlee@nvidia.com>2013-08-28 14:11:10 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-16 17:42:04 -0700
commit3a58536ffd90948187d60b92a9559816d27c3845 (patch)
tree4b5d4780a482878d60ca47f3d18d082465828a62 /sound/pci
parentcf63a66eec28af22b0851d9278d4dace720d1912 (diff)
ALSA: HDA: wait for IRQ handlers
Problem description: - Even after disabling interrupts on the module, interrupt handlers could be running on other CPUs. Fix description: - When disabling interrupts, also wait for any interrupt handler to finish as well Bug 1353286 Change-Id: I59bde67c51341cf52ca5f7f7a31a45d9f9887666 Signed-off-by: Sang-Hun Lee <sanlee@nvidia.com> Reviewed-on: http://git-master/r/267543 GVS: Gerrit_Virtual_Submit Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/hda_intel.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 4a4285e80092..7c77dd94f7e2 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2903,6 +2903,7 @@ static void azx_stop_chip(struct azx *chip)
/* disable interrupts */
azx_int_disable(chip);
azx_int_clear(chip);
+ synchronize_irq(chip->irq_id);
/* disable CORB/RIRB */
azx_free_cmd_io(chip);