summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDevin Heitmueller <devin.heitmueller@gmail.com>2008-11-16 00:44:52 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-11-16 23:57:13 -0200
commit41286d972530b7a47acb48376d714b6b121a6c22 (patch)
treed03ceac3b28b9cde3028f276f68359e58956e764 /drivers
parent3f9b46c154da5ec4facca88f82d1820eb329fd3e (diff)
downloadkernel-crypto-41286d972530b7a47acb48376d714b6b121a6c22.tar.gz
kernel-crypto-41286d972530b7a47acb48376d714b6b121a6c22.tar.xz
kernel-crypto-41286d972530b7a47acb48376d714b6b121a6c22.zip
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')
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.c2
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 b38cebe3ac1..7a421e9dba5 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -585,6 +585,8 @@ restart:
if (fe->ops.set_voltage)
fe->ops.set_voltage(fe, SEC_VOLTAGE_OFF);
if (fe->ops.tuner_ops.sleep) {
+ if (fe->ops.i2c_gate_ctrl)
+ fe->ops.i2c_gate_ctrl(fe, 1);
fe->ops.tuner_ops.sleep(fe);
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 0);