diff options
author | Devin Heitmueller <devin.heitmueller@gmail.com> | 2008-11-15 22:44:52 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-11-16 20:57:13 -0500 |
commit | 41286d972530b7a47acb48376d714b6b121a6c22 (patch) | |
tree | d03ceac3b28b9cde3028f276f68359e58956e764 /drivers/media | |
parent | 3f9b46c154da5ec4facca88f82d1820eb329fd3e (diff) |
V4L/DVB (9634): Make sure the i2c gate is open before powering down tuner
It is not safe to assume that the i2c gate will be open before issuing the
command to power down the tuner. In fact, many demods only open the gate
long enough to issue the tuning command.
This fix allows power management to work properly for those tuners behind an
i2c gate (in my case the problem was with the HVR-950Q)
Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/dvb/dvb-core/dvb_frontend.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c index b38cebe3ac1c..7a421e9dba5a 100644 --- a/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/drivers/media/dvb/dvb-core/dvb_frontend.c | |||
@@ -585,6 +585,8 @@ restart: | |||
585 | if (fe->ops.set_voltage) | 585 | if (fe->ops.set_voltage) |
586 | fe->ops.set_voltage(fe, SEC_VOLTAGE_OFF); | 586 | fe->ops.set_voltage(fe, SEC_VOLTAGE_OFF); |
587 | if (fe->ops.tuner_ops.sleep) { | 587 | if (fe->ops.tuner_ops.sleep) { |
588 | if (fe->ops.i2c_gate_ctrl) | ||
589 | fe->ops.i2c_gate_ctrl(fe, 1); | ||
588 | fe->ops.tuner_ops.sleep(fe); | 590 | fe->ops.tuner_ops.sleep(fe); |
589 | if (fe->ops.i2c_gate_ctrl) | 591 | if (fe->ops.i2c_gate_ctrl) |
590 | fe->ops.i2c_gate_ctrl(fe, 0); | 592 | fe->ops.i2c_gate_ctrl(fe, 0); |