Re: [PATCH] iio: adc: aspeed: Fix error handling path
From: Jonathan Cameron
Date: Sun Jan 14 2018 - 06:03:40 EST
On Mon, 8 Jan 2018 07:47:36 +0100
Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> wrote:
> The labels and branching order of the error path of 'aspeed_adc_probe()'
> are broken.
> Re-order the labels and goto statements.
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
Applied to the fixes-togreg-post-rc1 branch of iio.git.
The patch doesn't apply that far back so I'm going to assume
you are right and that it was a merge conflict that went wrong.
Anyhow, will go in sometime after rc1.
Thanks,
Jonathan
> ---
> Not sure where it comes from.
> Merge conflict incorrectly fixed?
> ---
> drivers/iio/adc/aspeed_adc.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/iio/adc/aspeed_adc.c b/drivers/iio/adc/aspeed_adc.c
> index 327a49ba1991..9515ca165dfd 100644
> --- a/drivers/iio/adc/aspeed_adc.c
> +++ b/drivers/iio/adc/aspeed_adc.c
> @@ -243,7 +243,7 @@ static int aspeed_adc_probe(struct platform_device *pdev)
> ASPEED_ADC_INIT_POLLING_TIME,
> ASPEED_ADC_INIT_TIMEOUT);
> if (ret)
> - goto scaler_error;
> + goto poll_timeout_error;
> }
>
> /* Start all channels in normal mode. */
> @@ -274,9 +274,10 @@ static int aspeed_adc_probe(struct platform_device *pdev)
> writel(ASPEED_OPERATION_MODE_POWER_DOWN,
> data->base + ASPEED_REG_ENGINE_CONTROL);
> clk_disable_unprepare(data->clk_scaler->clk);
> -reset_error:
> - reset_control_assert(data->rst);
> clk_enable_error:
> +poll_timeout_error:
> + reset_control_assert(data->rst);
> +reset_error:
> clk_hw_unregister_divider(data->clk_scaler);
> scaler_error:
> clk_hw_unregister_divider(data->clk_prescaler);