From ca890499d15f6731e5945d965edf314c4a611629 Mon Sep 17 00:00:00 2001
From: Peter Beutner
Date: Thu, 7 Jul 2005 17:57:36 -0700
Subject: [PATCH] --- yaml --- r: 4302 b: refs/heads/master c:
6757ccc57d2cc4ab4e63d8aee97f2e6b9f998990 h: refs/heads/master v: v3
---
[refs] | 2 +-
trunk/drivers/media/dvb/dvb-core/dvb_frontend.c | 16 +++++++++++++---
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/[refs] b/[refs]
index 3a5b1555ee98..720f27e33217 100644
--- a/[refs]
+++ b/[refs]
@@ -1,2 +1,2 @@
---
-refs/heads/master: 25a26ec3b60b29300a652d7d81a69b6bc08b35b5
+refs/heads/master: 6757ccc57d2cc4ab4e63d8aee97f2e6b9f998990
diff --git a/trunk/drivers/media/dvb/dvb-core/dvb_frontend.c b/trunk/drivers/media/dvb/dvb-core/dvb_frontend.c
index f11daae91cd4..e561ac1e1b16 100644
--- a/trunk/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/trunk/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -626,11 +626,21 @@ static int dvb_frontend_ioctl(struct inode *inode, struct file *file,
break;
}
- case FE_READ_STATUS:
+ case FE_READ_STATUS: {
+ fe_status_t* status = parg;
+
+ /* if retune was requested but hasn't occured yet, prevent
+ * that user get signal state from previous tuning */
+ if(fepriv->state == FESTATE_RETUNE) {
+ err=0;
+ *status = 0;
+ break;
+ }
+
if (fe->ops->read_status)
- err = fe->ops->read_status(fe, (fe_status_t*) parg);
+ err = fe->ops->read_status(fe, status);
break;
-
+ }
case FE_READ_BER:
if (fe->ops->read_ber)
err = fe->ops->read_ber(fe, (__u32*) parg);