fe->tuner_priv and fe->ops.tuner_ops are initialized twice in r820t_attach().
Remove the redundant initializations and also move fe->ops.tuner_ops
initialization outside of the mutex lock (as in the xc4000 tuner code for 
example).

Signed-off-by: Gianluca Gennari <[email protected]>
---
 drivers/media/tuners/r820t.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/media/tuners/r820t.c b/drivers/media/tuners/r820t.c
index 4835021..d8fd16a 100644
--- a/drivers/media/tuners/r820t.c
+++ b/drivers/media/tuners/r820t.c
@@ -2311,8 +2311,6 @@ struct dvb_frontend *r820t_attach(struct dvb_frontend *fe,
                break;
        }
 
-       memcpy(&fe->ops.tuner_ops, &r820t_tuner_ops, sizeof(r820t_tuner_ops));
-
        if (fe->ops.i2c_gate_ctrl)
                fe->ops.i2c_gate_ctrl(fe, 1);
 
@@ -2327,15 +2325,14 @@ struct dvb_frontend *r820t_attach(struct dvb_frontend 
*fe,
 
        tuner_info("Rafael Micro r820t successfully identified\n");
 
-       fe->tuner_priv = priv;
-       memcpy(&fe->ops.tuner_ops, &r820t_tuner_ops,
-                       sizeof(struct dvb_tuner_ops));
-
        if (fe->ops.i2c_gate_ctrl)
                fe->ops.i2c_gate_ctrl(fe, 0);
 
        mutex_unlock(&r820t_list_mutex);
 
+       memcpy(&fe->ops.tuner_ops, &r820t_tuner_ops,
+                       sizeof(struct dvb_tuner_ops));
+
        return fe;
 err:
        if (fe->ops.i2c_gate_ctrl)
-- 
1.8.2.2

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

Reply via email to