V4L/DVB (9394): cache last successful state
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/dvb/frontends/tda8261.c b/drivers/media/dvb/frontends/tda8261.c
index dc7dc02..616d88b 100644
--- a/drivers/media/dvb/frontends/tda8261.c
+++ b/drivers/media/dvb/frontends/tda8261.c
@@ -143,10 +143,12 @@
printk("%s: I/O Error\n", __func__);
return err;
}
- if (status == 1)
+ if (status == 1) {
printk("%s: Tuner Phase locked: status=%d\n", __func__, status);
- else
+ state->frequency = frequency; /* cache last successful */
+ } else {
printk("%s: No Phase lock: status=%d\n", __func__, status);
+ }
} else {
printk("%s: Unknown parameter (param=%d)\n", __func__, param);
return -EINVAL;