If an error happens, restore tuner I2C gate to the right
value.

Signed-off-by: Mauro Carvalho Chehab <mche...@redhat.com>
---
 drivers/media/dvb-frontends/mb86a20s.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/media/dvb-frontends/mb86a20s.c 
b/drivers/media/dvb-frontends/mb86a20s.c
index c91e9b9..06e5d35 100644
--- a/drivers/media/dvb-frontends/mb86a20s.c
+++ b/drivers/media/dvb-frontends/mb86a20s.c
@@ -814,10 +814,10 @@ static int mb86a20s_initfe(struct dvb_frontend *fe)
                        goto err;
        }
 
+err:
        if (fe->ops.i2c_gate_ctrl)
                fe->ops.i2c_gate_ctrl(fe, 1);
 
-err:
        if (rc < 0) {
                state->need_init = true;
                printk(KERN_INFO "mb86a20s: Init failed. Will try again 
later\n");
@@ -841,6 +841,10 @@ static int mb86a20s_set_frontend(struct dvb_frontend *fe)
 
        dprintk("\n");
 
+       /*
+        * Gate should already be opened, but it doesn't hurt to
+        * double-check
+        */
        if (fe->ops.i2c_gate_ctrl)
                fe->ops.i2c_gate_ctrl(fe, 1);
        dprintk("Calling tuner set parameters\n");
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to