From: Chris Fries Date: Mon, 25 Oct 2010 03:48:17 +0000 (-0500) Subject: [ARM] tegra_i2s_audio: add timeout to prevent flush deadlock X-Git-Tag: firefly_0821_release~9833^2~129^2~2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8e1fb0fecee6f1b7ce923486532f9c40f3c946cc;p=firefly-linux-kernel-4.4.55.git [ARM] tegra_i2s_audio: add timeout to prevent flush deadlock Signed-off-by: Iliyan Malchev --- diff --git a/arch/arm/mach-tegra/tegra_spdif_audio.c b/arch/arm/mach-tegra/tegra_spdif_audio.c index 9c6ae5b6f41a..3764edfdf869 100644 --- a/arch/arm/mach-tegra/tegra_spdif_audio.c +++ b/arch/arm/mach-tegra/tegra_spdif_audio.c @@ -478,7 +478,10 @@ static bool wait_till_stopped(struct audio_stream *as) { int rc; pr_debug("%s: wait for completion\n", __func__); - rc = wait_for_completion_interruptible(&as->stop_completion); + rc = wait_for_completion_interruptible_timeout( + &as->stop_completion, HZ); + if (!rc) + pr_err("%s: wait timed out\n", __func__); allow_suspend(as); pr_debug("%s: done: %d\n", __func__, rc); return true;