ASoC: meson: add missing free_irq() in error path
free_irq() is missing in case of error, fix that. Signed-off-by: Pavel Machek (CIP) <pavel@denx.de> Reviewed-by: Jerome Brunet <jbrunet@baylibre.com> Link: https://lore.kernel.org/r/20200606153103.GA17905@amd Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
8a9144c1cf
commit
3b8a299a58
@ -249,7 +249,7 @@ int axg_fifo_pcm_open(struct snd_soc_component *component,
|
|||||||
/* Enable pclk to access registers and clock the fifo ip */
|
/* Enable pclk to access registers and clock the fifo ip */
|
||||||
ret = clk_prepare_enable(fifo->pclk);
|
ret = clk_prepare_enable(fifo->pclk);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
goto free_irq;
|
||||||
|
|
||||||
/* Setup status2 so it reports the memory pointer */
|
/* Setup status2 so it reports the memory pointer */
|
||||||
regmap_update_bits(fifo->map, FIFO_CTRL1,
|
regmap_update_bits(fifo->map, FIFO_CTRL1,
|
||||||
@ -269,8 +269,14 @@ int axg_fifo_pcm_open(struct snd_soc_component *component,
|
|||||||
/* Take memory arbitror out of reset */
|
/* Take memory arbitror out of reset */
|
||||||
ret = reset_control_deassert(fifo->arb);
|
ret = reset_control_deassert(fifo->arb);
|
||||||
if (ret)
|
if (ret)
|
||||||
clk_disable_unprepare(fifo->pclk);
|
goto free_clk;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
free_clk:
|
||||||
|
clk_disable_unprepare(fifo->pclk);
|
||||||
|
free_irq:
|
||||||
|
free_irq(fifo->irq, ss);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(axg_fifo_pcm_open);
|
EXPORT_SYMBOL_GPL(axg_fifo_pcm_open);
|
||||||
|
Loading…
Reference in New Issue
Block a user