iio: adc: mxs-lradc: Disable the clock on probe failure
Subsystems (4)
Fabio Estevam
reviewerPATCH 1/1 iio: adc: mxs-lradc: Disable the clock on probe failure
From: Fabio Estevam <[email protected]>
We should disable lradc->clk in the case of errors in the probe function.
Signed-off-by Fabio Estevam <[email protected]>
--- drivers/staging/iio/adc/mxs-lradc.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
drivers/staging/iio/adc/mxs-lradc.c +8 -4
@@ -1559,14 +1559,16 @@ static int mxs_lradc_probe(struct platform_device *pdev)/* Grab all IRQ sources */ for (i =0 ; i < of_cfg->irq_count; i++) { lradc->irq[i] =platform_get_irq (pdev, i); -if (lradc->irq[i] <0 ) -return lradc->irq[i]; +if (lradc->irq[i] <0 ) { + ret = lradc->irq[i]; + goto err_clk; + } ret =devm_request_irq (dev, lradc->irq[i], mxs_lradc_handle_irq,0 , of_cfg->irq_name[i], iio);if (ret) -return ret; + goto err_clk; } lradc->vref_mv = of_cfg->vref_mv;
@@ -1588,7 +1590,7 @@ static int mxs_lradc_probe(struct platform_device *pdev) &mxs_lradc_trigger_handler, &mxs_lradc_buffer_ops);if (ret) -return ret; + goto err_clk; ret =mxs_lradc_trigger_init (iio);if (ret)
@@ -1643,6 +1645,8 @@ err_dev:mxs_lradc_trigger_remove (iio); err_trig:iio_triggered_buffer_cleanup (iio); +err_clk: +clk_disable_unprepare (lradc->clk);return ret; }
Signature · 1 line
1.9.1
Quoted 5 lines · Fabio Estevam
From: Fabio Estevam <[email protected]>
We should disable
lradc->clkin the case of errors in the probe function.Signed-off-by Fabio Estevam <[email protected]>
Reviewed-by Marek Vasut <[email protected]>
Best regards,
Marek Vasut