From 8e1fb0fecee6f1b7ce923486532f9c40f3c946cc Mon Sep 17 00:00:00 2001
From: Chris Fries <C.Fries@motorola.com>
Date: Sun, 24 Oct 2010 22:48:17 -0500
Subject: [PATCH] [ARM] tegra_i2s_audio: add timeout to prevent flush deadlock

Signed-off-by: Iliyan Malchev <malchev@google.com>
---
 arch/arm/mach-tegra/tegra_spdif_audio.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

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;
-- 
2.34.1