]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: adc: xilinx: Fix error handling
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Tue, 21 Feb 2017 06:34:00 +0000 (07:34 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Oct 2017 15:07:26 +0000 (17:07 +0200)
[ Upstream commit ca1c39ef76376b67303d01f94fe98bb68bb3861a ]

Reorder error handling labels in order to match the way resources have
been allocated.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iio/adc/xilinx-xadc-core.c

index ce93bd8e3f68b82fec81b31f8f1885b908ef0b45..a483747cdc9b91def9f6315109b9bca6342232c2 100644 (file)
@@ -1223,7 +1223,7 @@ static int xadc_probe(struct platform_device *pdev)
 
        ret = xadc->ops->setup(pdev, indio_dev, irq);
        if (ret)
-               goto err_free_samplerate_trigger;
+               goto err_clk_disable_unprepare;
 
        ret = request_threaded_irq(irq, xadc->ops->interrupt_handler,
                                xadc->ops->threaded_interrupt_handler,
@@ -1284,6 +1284,8 @@ static int xadc_probe(struct platform_device *pdev)
 
 err_free_irq:
        free_irq(irq, indio_dev);
+err_clk_disable_unprepare:
+       clk_disable_unprepare(xadc->clk);
 err_free_samplerate_trigger:
        if (xadc->ops->flags & XADC_FLAGS_BUFFERED)
                iio_trigger_free(xadc->samplerate_trigger);
@@ -1293,8 +1295,6 @@ err_free_convst_trigger:
 err_triggered_buffer_cleanup:
        if (xadc->ops->flags & XADC_FLAGS_BUFFERED)
                iio_triggered_buffer_cleanup(indio_dev);
-err_clk_disable_unprepare:
-       clk_disable_unprepare(xadc->clk);
 err_device_free:
        kfree(indio_dev->channels);