summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/dvb-core
diff options
context:
space:
mode:
authorHolger Waechtler <devnull@localhost>2003-03-19 13:25:26 +0000
committerHolger Waechtler <devnull@localhost>2003-03-19 13:25:26 +0000
commita203b0bbde8ce9e22fa785aa9f13136fe366f723 (patch)
treec628cb8a80b3f322a07587ffb9f0df29546d50a1 /linux/drivers/media/dvb/dvb-core
parent8ebcde35b194c3d931f9387fc3cf430e4ccad026 (diff)
downloadmediapointer-dvb-s2-a203b0bbde8ce9e22fa785aa9f13136fe366f723.tar.gz
mediapointer-dvb-s2-a203b0bbde8ce9e22fa785aa9f13136fe366f723.tar.bz2
add a flag FE_CAN_RECOVER to frontend capabilities. When you set this flag
kdvb-fe won't try to tune multiple times, it won't try to zigzag, nothing.
Diffstat (limited to 'linux/drivers/media/dvb/dvb-core')
-rw-r--r--linux/drivers/media/dvb/dvb-core/dvb_frontend.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
index 7f63e26cd..34a337bf3 100644
--- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -483,11 +483,14 @@ int dvb_frontend_thread (void *data)
fe->lost_sync_count = 0;
} else {
fe->lost_sync_count++;
- if (!(fe->info->caps & FE_CAN_CLEAN_SETUP))
- if (fe->lost_sync_count < 10)
- continue;
- dvb_frontend_recover (fe);
- delay = HZ/5;
+ if (!(fe->info->caps & FE_CAN_RECOVER)) {
+ if (!(fe->info->caps & FE_CAN_CLEAN_SETUP)) {
+ if (fe->lost_sync_count < 10)
+ continue;
+ }
+ dvb_frontend_recover (fe);
+ delay = HZ/5;
+ }
if (jiffies - fe->lost_sync_jiffies > TIMEOUT) {
s |= FE_TIMEDOUT;
if ((fe->status & FE_TIMEDOUT) == 0)