diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2017-02-21 01:34:00 -0500 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2017-02-25 11:39:32 -0500 |
commit | ca1c39ef76376b67303d01f94fe98bb68bb3861a (patch) | |
tree | 752255e4bf89fe360f6bcb21dce162cc76ccdf4d /drivers/iio/adc/xilinx-xadc-core.c | |
parent | ca8d8e03b4c9ad447d1e882cc8014e538f653018 (diff) |
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/adc/xilinx-xadc-core.c')
-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) | |||
1208 | 1208 | ||
1209 | ret = xadc->ops->setup(pdev, indio_dev, irq); | 1209 | ret = xadc->ops->setup(pdev, indio_dev, irq); |
1210 | if (ret) | 1210 | if (ret) |
1211 | goto err_free_samplerate_trigger; | 1211 | goto err_clk_disable_unprepare; |
1212 | 1212 | ||
1213 | ret = request_irq(irq, xadc->ops->interrupt_handler, 0, | 1213 | ret = request_irq(irq, xadc->ops->interrupt_handler, 0, |
1214 | dev_name(&pdev->dev), indio_dev); | 1214 | dev_name(&pdev->dev), indio_dev); |
@@ -1268,6 +1268,8 @@ static int xadc_probe(struct platform_device *pdev) | |||
1268 | 1268 | ||
1269 | err_free_irq: | 1269 | err_free_irq: |
1270 | free_irq(irq, indio_dev); | 1270 | free_irq(irq, indio_dev); |
1271 | err_clk_disable_unprepare: | ||
1272 | clk_disable_unprepare(xadc->clk); | ||
1271 | err_free_samplerate_trigger: | 1273 | err_free_samplerate_trigger: |
1272 | if (xadc->ops->flags & XADC_FLAGS_BUFFERED) | 1274 | if (xadc->ops->flags & XADC_FLAGS_BUFFERED) |
1273 | iio_trigger_free(xadc->samplerate_trigger); | 1275 | iio_trigger_free(xadc->samplerate_trigger); |
@@ -1277,8 +1279,6 @@ err_free_convst_trigger: | |||
1277 | err_triggered_buffer_cleanup: | 1279 | err_triggered_buffer_cleanup: |
1278 | if (xadc->ops->flags & XADC_FLAGS_BUFFERED) | 1280 | if (xadc->ops->flags & XADC_FLAGS_BUFFERED) |
1279 | iio_triggered_buffer_cleanup(indio_dev); | 1281 | iio_triggered_buffer_cleanup(indio_dev); |
1280 | err_clk_disable_unprepare: | ||
1281 | clk_disable_unprepare(xadc->clk); | ||
1282 | err_device_free: | 1282 | err_device_free: |
1283 | kfree(indio_dev->channels); | 1283 | kfree(indio_dev->channels); |
1284 | 1284 | ||