]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: imx7-mipi-csis: Propagate the error if clock enabling fails
authorFabio Estevam <festevam@gmail.com>
Fri, 31 May 2019 17:45:04 +0000 (13:45 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 26 Jul 2019 07:12:30 +0000 (09:12 +0200)
[ Upstream commit 2b393f91c651c16d5c09f5c7aa689e58a79df34e ]

Currently the return value from clk_bulk_prepare_enable() is checked,
but it is not propagate it in the case of failure.

Fix it and also move the error message to the caller of
mipi_csis_clk_enable().

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/staging/media/imx/imx7-mipi-csis.c

index 2ddcc42ab8ff59a0667e26e6c7970274e54a4bc2..e9d621e19d6dd6b5ce7fad23ae50ba176410bed9 100644 (file)
@@ -455,13 +455,9 @@ static void mipi_csis_set_params(struct csi_state *state)
                        MIPI_CSIS_CMN_CTRL_UPDATE_SHADOW_CTRL);
 }
 
-static void mipi_csis_clk_enable(struct csi_state *state)
+static int mipi_csis_clk_enable(struct csi_state *state)
 {
-       int ret;
-
-       ret = clk_bulk_prepare_enable(state->num_clks, state->clks);
-       if (ret < 0)
-               dev_err(state->dev, "failed to enable clocks\n");
+       return clk_bulk_prepare_enable(state->num_clks, state->clks);
 }
 
 static void mipi_csis_clk_disable(struct csi_state *state)
@@ -985,7 +981,11 @@ static int mipi_csis_probe(struct platform_device *pdev)
        if (ret < 0)
                return ret;
 
-       mipi_csis_clk_enable(state);
+       ret = mipi_csis_clk_enable(state);
+       if (ret < 0) {
+               dev_err(state->dev, "failed to enable clocks: %d\n", ret);
+               return ret;
+       }
 
        ret = devm_request_irq(dev, state->irq, mipi_csis_irq_handler,
                               0, dev_name(dev), state);