summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb
diff options
context:
space:
mode:
authorJohannes Stezenbach <devnull@localhost>2004-08-02 11:52:33 +0000
committerJohannes Stezenbach <devnull@localhost>2004-08-02 11:52:33 +0000
commit86e506d061b0c95c2f5fec093678b6320b8c1f0a (patch)
tree61af15bce6b33d3288dff7f3064ad76af539467f /linux/drivers/media/dvb
parentd3c7341869a8188aff16975a785c4c5d05c3fcb8 (diff)
downloadmediapointer-dvb-s2-86e506d061b0c95c2f5fec093678b6320b8c1f0a.tar.gz
mediapointer-dvb-s2-86e506d061b0c95c2f5fec093678b6320b8c1f0a.tar.bz2
patch by Wolfgang Fritz: suppress spurious events during tuning
Diffstat (limited to 'linux/drivers/media/dvb')
-rw-r--r--linux/drivers/media/dvb/dvb-core/dvb_frontend.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
index b8e117571..fd3fe99b9 100644
--- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -527,10 +527,14 @@ static int dvb_frontend_thread (void *data)
}
// get the frontend status
- dvb_frontend_internal_ioctl (&fe->frontend, FE_READ_STATUS, &s);
- if (s != fe->status)
- dvb_frontend_add_event (fe, s);
-
+ if (fe->state & FESTATE_RETUNE) {
+ s = 0;
+ } else {
+ dvb_frontend_internal_ioctl (&fe->frontend, FE_READ_STATUS, &s);
+ if (s != fe->status) {
+ dvb_frontend_add_event (fe, s);
+ }
+ }
// if we're not tuned, and we have a lock, move to the TUNED state
if ((fe->state & FESTATE_WAITFORLOCK) && (s & FE_HAS_LOCK)) {
update_delay(&quality, &delay, fe->min_delay, s & FE_HAS_LOCK);