diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2017-02-21 07:34:00 +0100 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2017-02-25 17:39:32 +0100 |
commit | ca1c39ef76376b67303d01f94fe98bb68bb3861a (patch) | |
tree | 752255e4bf89fe360f6bcb21dce162cc76ccdf4d /drivers/iio | |
parent | iio: 104-quad-8: Fix off-by-one error when addressing flag register (diff) | |
download | linux-ca1c39ef76376b67303d01f94fe98bb68bb3861a.tar.xz linux-ca1c39ef76376b67303d01f94fe98bb68bb3861a.zip |
iio: adc: xilinx: Fix error handling
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>
Diffstat (limited to 'drivers/iio')
-rw-r--r-- | drivers/iio/adc/xilinx-xadc-core.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/iio/adc/xilinx-xadc-core.c b/drivers/iio/adc/xilinx-xadc-core.c index 0a6beb3d99cb..56cf5907a5f0 100644 --- a/drivers/iio/adc/xilinx-xadc-core.c +++ b/drivers/iio/adc/xilinx-xadc-core.c @@ -1208,7 +1208,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_irq(irq, xadc->ops->interrupt_handler, 0, dev_name(&pdev->dev), indio_dev); @@ -1268,6 +1268,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); @@ -1277,8 +1279,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); |