diff options
author | Holger Waechtler <devnull@localhost> | 2002-10-16 19:02:42 +0000 |
---|---|---|
committer | Holger Waechtler <devnull@localhost> | 2002-10-16 19:02:42 +0000 |
commit | 52e0f715a3431be004f4e00fec027ab1ee1390c9 (patch) | |
tree | c667fc572f6b23789e0fad0e9d8021170873caf3 /linux/drivers/media/dvb | |
parent | 4cdfc7177bcafe782e27dfa468b0aa5d33cc81b7 (diff) | |
download | mediapointer-dvb-s2-52e0f715a3431be004f4e00fec027ab1ee1390c9.tar.gz mediapointer-dvb-s2-52e0f715a3431be004f4e00fec027ab1ee1390c9.tar.bz2 |
follow changes in HEAD
Diffstat (limited to 'linux/drivers/media/dvb')
-rw-r--r-- | linux/drivers/media/dvb/dvb-core/dvb_frontend.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c index 8a6d2b79f..f64279a04 100644 --- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c @@ -140,7 +140,7 @@ void dvb_bend_frequency (struct dvb_frontend_data *this_fe, int recursive) { struct list_head *entry; int stepsize = this_fe->info->frequency_stepsize; - int frequency = this_fe->parameters.frequency + this_fe->lnb_drift; + int frequency; if (!stepsize || recursive > 10) { printk ("%s: too deep recursion, check frequency_stepsize " @@ -162,15 +162,22 @@ void dvb_bend_frequency (struct dvb_frontend_data *this_fe, int recursive) fe = list_entry (entry, struct dvb_frontend_data, list_head); - f = fe->parameters.frequency + fe->lnb_drift + fe->bending; - + f = fe->parameters.frequency; + f += fe->lnb_drift; + f += fe->bending; + + frequency = this_fe->parameters.frequency; + frequency += this_fe->lnb_drift; + frequency += this_fe->bending; + if (this_fe != fe && - frequency >= f - stepsize && frequency <= f + stepsize) + frequency > f - stepsize && frequency < f + stepsize) { - if (recursive % 2 == 0) + if (recursive % 2) this_fe->bending += stepsize; else this_fe->bending = -this_fe->bending; + dvb_bend_frequency (this_fe, recursive + 1); goto done; } @@ -504,7 +511,7 @@ int dvb_frontend_thread (void *data) fe->lost_sync_count = 0; } else { fe->lost_sync_count++; -printk ("%s: no sync, lost_sync_count %i\n", __FUNCTION__, fe->lost_sync_count); + dvb_frontend_recover (fe); delay = HZ/5; if (jiffies - fe->lost_sync_jiffies > TIMEOUT) { |