summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/b2c2/flexcop.c
diff options
context:
space:
mode:
authorPatrick Boettcher <pb@linuxtv.org>2009-02-23 10:27:16 +0100
committerPatrick Boettcher <pb@linuxtv.org>2009-02-23 10:27:16 +0100
commit7613bd8a3cc9cb591a3edcbce872d2e8f90d7bb6 (patch)
tree21ce54983ba6f58a66342ec3535463b601239346 /linux/drivers/media/dvb/b2c2/flexcop.c
parentc0d72775f8fc3a3e551f233b3501ccf1ca23fe2a (diff)
downloadmediapointer-dvb-s2-7613bd8a3cc9cb591a3edcbce872d2e8f90d7bb6.tar.gz
mediapointer-dvb-s2-7613bd8a3cc9cb591a3edcbce872d2e8f90d7bb6.tar.bz2
[PATCH] software IRQ watchdog for Flexcop B2C2 DVB PCI cards
From: Patrick Boettcher <pb@linuxtv.org> With (some) Technisat cards you cannot run multiple DVB applications in parallel and switch the channel at the same time. There seems to be a problem on the interfaces or even inside the flexcop-device that can't handle interruption on the streaming interface. This patch adds a watchdog to check whether data is supposed to come in (streaming PIDs are requested) and if no data is seen within 400ms (default) it resets the streaming/pid-filtering hardware. This patch is urgently needed to support the rev 2.8 of the hardware and solves problem occassionally seen on older hardware. Priority: high Signed-off-by: Uwe Bugla <uwe.bugla@gmx.de> Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Diffstat (limited to 'linux/drivers/media/dvb/b2c2/flexcop.c')
-rw-r--r--linux/drivers/media/dvb/b2c2/flexcop.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/linux/drivers/media/dvb/b2c2/flexcop.c b/linux/drivers/media/dvb/b2c2/flexcop.c
index 676413a91..91068952b 100644
--- a/linux/drivers/media/dvb/b2c2/flexcop.c
+++ b/linux/drivers/media/dvb/b2c2/flexcop.c
@@ -212,8 +212,7 @@ void flexcop_reset_block_300(struct flexcop_device *fc)
v210.sw_reset_210.Block_reset_enable = 0xb2;
fc->write_ibi_reg(fc,sw_reset_210,v210);
- msleep(1);
-
+ udelay(1000);
fc->write_ibi_reg(fc,ctrl_208,v208_save);
}