ALSA: hda/tegra: clear pending irq handlers
authorSameer Pujar <spujar@nvidia.com>
Wed, 26 Dec 2018 10:34:49 +0000 (16:04 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Jan 2019 16:38:38 +0000 (17:38 +0100)
commit2c7882957c12834b30bd6c93069412cbfb1c6c8a
tree90be0e3d4d2a0a2145a8e6e2224e2c8a0960ad99
parent22bc89a31109c501b4fd5c0061cc856b6d831466
ALSA: hda/tegra: clear pending irq handlers

commit 63d2a9ec310d8bcc955574220d4631aa55c1a80c upstream.

Even after disabling interrupts on the module, it could be possible
that irq handlers are still running. System hang is seen during
suspend path. It was found that, there were pending writes on the
HDA bus and clock was disabled by that time.

Above mentioned issue is fixed by clearing any pending irq handlers
before disabling clocks and returning from hda suspend.

Suggested-by: Mohan Kumar <mkumard@nvidia.com>
Suggested-by: Dara Ramesh <dramesh@nvidia.com>
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/hda/hda_tegra.c