Message ID | 1380898115-30071-1-git-send-email-ljalvs@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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@gmail.com> Reviewed-by: Antti Palosaari <crope@iki.fi> > --- > 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; >
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;
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@gmail.com> --- drivers/media/dvb-frontends/cx24117.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)