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 <lja...@gmail.com>
---
 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;
-- 
1.7.9.5

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

Reply via email to