summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Oberritter <obi@linuxtv.org>2011-08-04 17:33:12 +0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-09-03 13:46:59 +0200
commit56ce5ac41af87c157cf4c6e4e6fec31d7d48025e (patch)
tree19b0c6fdfbfeda68516c9f9538dbf3064337eeb7
parent[media] drivers/media/video/hexium_gemini.c: delete useless initialization (diff)
downloadlinux-56ce5ac41af87c157cf4c6e4e6fec31d7d48025e.tar.xz
linux-56ce5ac41af87c157cf4c6e4e6fec31d7d48025e.zip
[media] DVB: dvb_frontend: fix stale parameters on initial frontend event
Modify it to use the data given by the user. Signed-off-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index efe9c30605e8..23d79d0f25ee 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -1827,6 +1827,13 @@ static int dvb_frontend_ioctl_legacy(struct file *file,
dtv_property_cache_sync(fe, c, &fepriv->parameters_in);
}
+ /*
+ * Initialize output parameters to match the values given by
+ * the user. FE_SET_FRONTEND triggers an initial frontend event
+ * with status = 0, which copies output parameters to userspace.
+ */
+ fepriv->parameters_out = fepriv->parameters_in;
+
memset(&fetunesettings, 0, sizeof(struct dvb_frontend_tune_settings));
memcpy(&fetunesettings.parameters, parg,
sizeof (struct dvb_frontend_parameters));