diff options
author | Sang-Hun Lee <sanlee@nvidia.com> | 2013-08-28 14:11:10 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-16 17:42:04 -0700 |
commit | 3a58536ffd90948187d60b92a9559816d27c3845 (patch) | |
tree | 4b5d4780a482878d60ca47f3d18d082465828a62 /sound/pci | |
parent | cf63a66eec28af22b0851d9278d4dace720d1912 (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.c | 1 |
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); |