mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 00:20:32 +00:00
iio: adc: aspeed: Fix error handling path
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@wanadoo.fr> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
a66a4e8e01
commit
787e1853ae
1 changed files with 4 additions and 3 deletions
|
@ -243,7 +243,7 @@ static int aspeed_adc_probe(struct platform_device *pdev)
|
||||||
ASPEED_ADC_INIT_POLLING_TIME,
|
ASPEED_ADC_INIT_POLLING_TIME,
|
||||||
ASPEED_ADC_INIT_TIMEOUT);
|
ASPEED_ADC_INIT_TIMEOUT);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto scaler_error;
|
goto poll_timeout_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Start all channels in normal mode. */
|
/* 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,
|
writel(ASPEED_OPERATION_MODE_POWER_DOWN,
|
||||||
data->base + ASPEED_REG_ENGINE_CONTROL);
|
data->base + ASPEED_REG_ENGINE_CONTROL);
|
||||||
clk_disable_unprepare(data->clk_scaler->clk);
|
clk_disable_unprepare(data->clk_scaler->clk);
|
||||||
reset_error:
|
|
||||||
reset_control_assert(data->rst);
|
|
||||||
clk_enable_error:
|
clk_enable_error:
|
||||||
|
poll_timeout_error:
|
||||||
|
reset_control_assert(data->rst);
|
||||||
|
reset_error:
|
||||||
clk_hw_unregister_divider(data->clk_scaler);
|
clk_hw_unregister_divider(data->clk_scaler);
|
||||||
scaler_error:
|
scaler_error:
|
||||||
clk_hw_unregister_divider(data->clk_prescaler);
|
clk_hw_unregister_divider(data->clk_prescaler);
|
||||||
|
|
Loading…
Reference in a new issue