PATCH: Leadtek DTVb1800H require longer delay for tuner reset

From: Mirek SlugeÅ
Date: Sun Mar 20 2011 - 18:05:34 EST


Hi,

I am using alot of tuners Leadtek DTV1800H under Linux, minimum 5 devices per one PC with kernel 2.6.37.4. I discovered bug which I can se very often but not always. When device tuner is reseted there is not enough time to do all needed stuff and sometimes (randomly) kernel show this message:

[ 821.369647] cx88[0]/1: IRQ loop detected, disabling interrupts

Patch is again very simple, we need to adjust time in reset function after cx_clear and cx_set calls from 50 to 75 us. I tested this patch on 4 PC with similar problems and all are without this issue.

M. Slugen diff -Naur linux-2.6.37.4.old//drivers/media/video/cx88/cx88-cards.c linux-2.6.37.4/drivers/media/video/cx88/cx88-cards.c
--- linux-2.6.37.4.old//drivers/media/video/cx88/cx88-cards.c 2011-03-20 21:30:52.000000000 +0100
+++ linux-2.6.37.4/drivers/media/video/cx88/cx88-cards.c 2011-03-20 22:25:54.710228001 +0100
@@ -3019,9 +3019,9 @@
cx_set(MO_GP1_IO, 0x1010);
mdelay(50);
cx_clear(MO_GP1_IO, 0x10);
- mdelay(50);
+ mdelay(75);
cx_set(MO_GP1_IO, 0x10);
- mdelay(50);
+ mdelay(75);
return 0;
}
return -EINVAL;