From 5206d6ec36e2c66090c3c02c95b8d70c356a9ad3 Mon Sep 17 00:00:00 2001
From: Steven Toth <stoth@hauppauge.com>
Date: Thu, 10 Jan 2008 02:09:27 -0300
Subject: V4L/DVB (7004): cx23885: Ensure HVR1800 TDA8295A is reset fully on
 module load

Failure to do this means that a full system reboot is required if the
part hangs.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---
 drivers/media/video/cx23885/cx23885-cards.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

(limited to 'drivers/media/video/cx23885')

diff --git a/drivers/media/video/cx23885/cx23885-cards.c b/drivers/media/video/cx23885/cx23885-cards.c
index aa0ddf2ea224..901bebcca7c3 100644
--- a/drivers/media/video/cx23885/cx23885-cards.c
+++ b/drivers/media/video/cx23885/cx23885-cards.c
@@ -268,7 +268,13 @@ void cx23885_gpio_setup(struct cx23885_dev *dev)
 		/* GPIO-15-18 cx23417 READY, CS, RD, WR */
 		/* GPIO-19 IR_RX */
 
-		cx_set(GP0_IO, 0x00040004); /* Bring the tuner out of reset */
+		/* Force the TDA8295A into reset and back */
+		cx_set(GP0_IO, 0x00040004);
+		mdelay(20);
+		cx_clear(GP0_IO, 0x00000004);
+		mdelay(20);
+		cx_set(GP0_IO, 0x00040004);
+		mdelay(20);
 		break;
 	}
 }
-- 
cgit v1.2.3