On 04.10.2013 17:48, Luis Alves wrote:
Hi, This patch will fix the situation where the mutex was left in a locked state if for some reason the FE init failed. Regards, Luis Signed-off-by: Luis Alves <ljalvs@xxxxxxxxx>
Reviewed-by: Antti Palosaari <crope@xxxxxx>
--- drivers/media/dvb-frontends/cx24117.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/media/dvb-frontends/cx24117.c b/drivers/media/dvb-frontends/cx24117.c index 9087309..476b422 100644 --- a/drivers/media/dvb-frontends/cx24117.c +++ b/drivers/media/dvb-frontends/cx24117.c @@ -1238,11 +1238,11 @@ static int cx24117_initfe(struct dvb_frontend *fe) cmd.len = 3; ret = cx24117_cmd_execute_nolock(fe, &cmd); if (ret != 0) - return ret; + goto exit; ret = cx24117_diseqc_init(fe); if (ret != 0) - return ret; + goto exit; /* CMD 3C */ cmd.args[0] = 0x3c; @@ -1252,7 +1252,7 @@ static int cx24117_initfe(struct dvb_frontend *fe) cmd.len = 4; ret = cx24117_cmd_execute_nolock(fe, &cmd); if (ret != 0) - return ret; + goto exit; /* CMD 34 */ cmd.args[0] = 0x34; @@ -1260,9 +1260,8 @@ static int cx24117_initfe(struct dvb_frontend *fe) cmd.args[2] = CX24117_OCC; cmd.len = 3; ret = cx24117_cmd_execute_nolock(fe, &cmd); - if (ret != 0) - return ret; +exit: mutex_unlock(&state->priv->fe_lock); return ret;
-- http://palosaari.fi/ -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html