From 65899993ce40f7298443037b1678713f923e83cc Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Sat, 25 Jun 2011 10:24:49 -0300 Subject: [PATCH] --- yaml --- r: 254844 b: refs/heads/master c: d16625e788b8871163ad991851ffba5f64c06d43 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/video/tuner-core.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index dc2f8f99d32d..b0a549e18253 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a6cf90a91551c767bed78a4418c26f41aed60cde +refs/heads/master: d16625e788b8871163ad991851ffba5f64c06d43 diff --git a/trunk/drivers/media/video/tuner-core.c b/trunk/drivers/media/video/tuner-core.c index 1e7505eb32e9..39af999112f9 100644 --- a/trunk/drivers/media/video/tuner-core.c +++ b/trunk/drivers/media/video/tuner-core.c @@ -1039,16 +1039,20 @@ static int tuner_s_radio(struct v4l2_subdev *sd) /** * tuner_s_power - controls the power state of the tuner * @sd: pointer to struct v4l2_subdev - * @on: a zero value puts the tuner to sleep + * @on: a zero value puts the tuner to sleep, non-zero wakes it up */ static int tuner_s_power(struct v4l2_subdev *sd, int on) { struct tuner *t = to_tuner(sd); struct analog_demod_ops *analog_ops = &t->fe.ops.analog_ops; - /* FIXME: Why this function don't wake the tuner if on != 0 ? */ - if (on) + if (on) { + if (t->standby && set_mode(t, t->mode) == 0) { + tuner_dbg("Waking up tuner\n"); + set_freq(t, 0); + } return 0; + } tuner_dbg("Putting tuner to sleep\n"); t->standby = true;