throw a warning on double unlocks

based on patch by Daniel Scheller
This commit is contained in:
Ralph Metzler 2017-12-12 10:19:52 +01:00
parent b54e6ed689
commit d87246de12
1 changed files with 6 additions and 1 deletions

View File

@ -1210,10 +1210,15 @@ static int gate_ctrl(struct dvb_frontend *fe, int enable)
stat = write_reg(state, state->nr ? RSTV0910_P2_I2CRPT :
RSTV0910_P1_I2CRPT, i2crpt);
if (stat < 0)
if (!WARN_ON(!mutex_is_locked(&state->base->i2c_lock)))
mutex_unlock(&state->base->i2c_lock);
state->i2crpt = i2crpt;
if (!enable)
mutex_unlock(&state->base->i2c_lock);
if (!WARN_ON(!mutex_is_locked(&state->base->i2c_lock)))
mutex_unlock(&state->base->i2c_lock);
return stat;
}