Commit ddfb2982 authored by Fabio Estevam's avatar Fabio Estevam Committed by Mauro Carvalho Chehab

media: imx7-media-csi: Check the return value from clk_prepare_enable()

clk_prepare_enable() may fail, so we should better check its return value
and propagate it in the case of error.
Signed-off-by: default avatarFabio Estevam <festevam@gmail.com>
Tested-by: default avatarRui Miguel Silva <rmfrfs@gmail.com>
Reviewed-by: default avatarRui Miguel Silva <rmfrfs@gmail.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 964fcacd
...@@ -390,17 +390,23 @@ static void imx7_csi_error_recovery(struct imx7_csi *csi) ...@@ -390,17 +390,23 @@ static void imx7_csi_error_recovery(struct imx7_csi *csi)
imx7_csi_hw_enable(csi); imx7_csi_hw_enable(csi);
} }
static void imx7_csi_init(struct imx7_csi *csi) static int imx7_csi_init(struct imx7_csi *csi)
{ {
int ret;
if (csi->is_init) if (csi->is_init)
return; return 0;
clk_prepare_enable(csi->mclk); ret = clk_prepare_enable(csi->mclk);
if (ret < 0)
return ret;
imx7_csi_hw_reset(csi); imx7_csi_hw_reset(csi);
imx7_csi_init_interface(csi); imx7_csi_init_interface(csi);
imx7_csi_dmareq_rff_enable(csi); imx7_csi_dmareq_rff_enable(csi);
csi->is_init = true; csi->is_init = true;
return 0;
} }
static void imx7_csi_deinit(struct imx7_csi *csi) static void imx7_csi_deinit(struct imx7_csi *csi)
...@@ -513,7 +519,7 @@ static int imx7_csi_link_setup(struct media_entity *entity, ...@@ -513,7 +519,7 @@ static int imx7_csi_link_setup(struct media_entity *entity,
init: init:
if (csi->sink || csi->src_sd) if (csi->sink || csi->src_sd)
imx7_csi_init(csi); ret = imx7_csi_init(csi);
else else
imx7_csi_deinit(csi); imx7_csi_deinit(csi);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment