From 86e506d061b0c95c2f5fec093678b6320b8c1f0a Mon Sep 17 00:00:00 2001 From: Johannes Stezenbach Date: Mon, 2 Aug 2004 11:52:33 +0000 Subject: patch by Wolfgang Fritz: suppress spurious events during tuning --- linux/drivers/media/dvb/dvb-core/dvb_frontend.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'linux/drivers/media/dvb') 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); -- cgit v1.2.3