V4L/DVB (8532): mxl5007t: remove excessive locks
authorMichael Krufky <mkrufky@linuxtv.org>
Sat, 26 Jul 2008 18:43:17 +0000 (15:43 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Sun, 27 Jul 2008 14:07:35 +0000 (11:07 -0300)
The use of mutex locking is overly paranoid in this driver.
The only locks we need are around the manipulation of the
register arrays. The other locks are not needed - remove them.

Thanks to Steven Toth for pointing this out.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/common/tuners/mxl5007t.c

index 4a1ea54..cb25e43 100644 (file)
@@ -663,8 +663,6 @@ static int mxl5007t_get_status(struct dvb_frontend *fe, u32 *status)
        if (fe->ops.i2c_gate_ctrl)
                fe->ops.i2c_gate_ctrl(fe, 1);
 
-       mutex_lock(&state->lock);
-
        ret = mxl5007t_synth_lock_status(state, &rf_locked, &ref_locked);
        if (mxl_fail(ret))
                goto fail;
@@ -676,8 +674,6 @@ static int mxl5007t_get_status(struct dvb_frontend *fe, u32 *status)
                goto fail;
        mxl_debug("rf input power: %d", rf_input_level);
 fail:
-       mutex_unlock(&state->lock);
-
        if (fe->ops.i2c_gate_ctrl)
                fe->ops.i2c_gate_ctrl(fe, 0);
 
@@ -839,8 +835,6 @@ static int mxl5007t_init(struct dvb_frontend *fe)
        if (fe->ops.i2c_gate_ctrl)
                fe->ops.i2c_gate_ctrl(fe, 1);
 
-       mutex_lock(&state->lock);
-
        ret = mxl5007t_read_reg(state, 0x05, &d);
        if (mxl_fail(ret))
                goto fail;
@@ -848,8 +842,6 @@ static int mxl5007t_init(struct dvb_frontend *fe)
        ret = mxl5007t_write_reg(state, 0x05, d | 0x01);
        mxl_fail(ret);
 fail:
-       mutex_unlock(&state->lock);
-
        if (fe->ops.i2c_gate_ctrl)
                fe->ops.i2c_gate_ctrl(fe, 0);
 
@@ -865,8 +857,6 @@ static int mxl5007t_sleep(struct dvb_frontend *fe)
        if (fe->ops.i2c_gate_ctrl)
                fe->ops.i2c_gate_ctrl(fe, 1);
 
-       mutex_lock(&state->lock);
-
        ret = mxl5007t_read_reg(state, 0x05, &d);
        if (mxl_fail(ret))
                goto fail;
@@ -874,8 +864,6 @@ static int mxl5007t_sleep(struct dvb_frontend *fe)
        ret = mxl5007t_write_reg(state, 0x05, d & ~0x01);
        mxl_fail(ret);
 fail:
-       mutex_unlock(&state->lock);
-
        if (fe->ops.i2c_gate_ctrl)
                fe->ops.i2c_gate_ctrl(fe, 0);
 
@@ -1001,12 +989,8 @@ struct dvb_frontend *mxl5007t_attach(struct dvb_frontend *fe,
                if (fe->ops.i2c_gate_ctrl)
                        fe->ops.i2c_gate_ctrl(fe, 1);
 
-               mutex_lock(&state->lock);
-
                ret = mxl5007t_get_chip_id(state);
 
-               mutex_unlock(&state->lock);
-
                if (fe->ops.i2c_gate_ctrl)
                        fe->ops.i2c_gate_ctrl(fe, 0);