diff options
-rw-r--r-- | linux/drivers/media/dvb/frontends/stb0899_algo.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/linux/drivers/media/dvb/frontends/stb0899_algo.c b/linux/drivers/media/dvb/frontends/stb0899_algo.c index 71037dc67..3d13968a7 100644 --- a/linux/drivers/media/dvb/frontends/stb0899_algo.c +++ b/linux/drivers/media/dvb/frontends/stb0899_algo.c @@ -467,14 +467,13 @@ static void next_sub_range(struct stb0899_state *state) if (internal->sub_dir > 0) { old_sub_range = internal->sub_range; - if (internal->tuner_offst + internal->sub_range / 2 >= - internal->srch_range / 2) - internal->sub_range = 0; - else - internal->sub_range = MIN((internal->srch_range / 2) - + internal->sub_range = MIN((internal->srch_range / 2) - (internal->tuner_offst + internal->sub_range / 2), internal->sub_range); + if (internal->sub_range < 0) + internal->sub_range = 0; + internal->tuner_offst += (old_sub_range + internal->sub_range) / 2; } |