Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: AMD64 and DVB



Max Nickel wrote:
> 
> It looks like that the bug i'm experiencing is caused by saa7146_core.c's 
> saa7146_wait_for_debi_done function.
...
> dvb_ttpci: load_dram(): Writing DRAM block 72
> saa7146: saa7146_wait_for_debi_done(): timed out while waiting for transfer completion

Yikes! You're right, there's a grave bug. Try the patch below.

BTW, it's the same kind of bug that Gerd Knorr fixed for
the saa7146 i2c stuff to make his budget card work on AMD64,
so I though Michael would have fixed all of them...


Index: drivers/media/common/saa7146_core.c
===================================================================
RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/common/saa7146_core.c,v
retrieving revision 1.49
diff -u -p -r1.49 saa7146_core.c
--- drivers/media/common/saa7146_core.c	3 Jan 2004 22:33:16 -0000	1.49
+++ drivers/media/common/saa7146_core.c	20 Feb 2004 12:46:22 -0000
@@ -69,14 +69,14 @@ void saa7146_set_gpio(struct saa7146_dev
 /* This DEBI code is based on the saa7146 Stradis driver by Nathan Laredo */
 int saa7146_wait_for_debi_done(struct saa7146_dev *dev)
 {
-	int start;
+	unsigned long start;
 
 	/* wait for registers to be programmed */
 	start = jiffies;
 	while (1) {
                 if (saa7146_read(dev, MC2) & 2)
                         break;
-		if (jiffies-start > HZ/20) {
+		if (time_after(jiffies, start + HZ/20)) {
 			DEB_S(("timed out while waiting for registers getting programmed\n"));
 			return -ETIMEDOUT;
 		}
@@ -88,7 +88,7 @@ int saa7146_wait_for_debi_done(struct sa
 		if (!(saa7146_read(dev, PSR) & SPCI_DEBI_S))
 			break;
 		saa7146_read(dev, MC2);
-		if (jiffies-start > HZ/4) {
+		if (time_after(jiffies, start + HZ/4)) {
 			DEB_S(("timed out while waiting for transfer completion\n"));
 			return -ETIMEDOUT;
 		}

Thanks for tracking this down.

Johannes


-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index