[PATCH v2 2/4] dmaengine: Add STM32 DMA driver
Daniel Thompson
daniel.thompson at linaro.org
Wed Oct 14 01:52:58 PDT 2015
On 14/10/15 08:54, M'boumba Cedric Madianga wrote:
>>> +static int stm32_dma_alloc_chan_resources(struct dma_chan *c)
>>> +{
>>> + struct stm32_dma_chan *chan = to_stm32_dma_chan(c);
>>> + struct stm32_dma_device *dmadev = stm32_dma_chan_get_dev(chan);
>>> + int ret;
>>> +
>>> + chan->config_init = false;
>>> + ret = clk_prepare_enable(dmadev->clk);
>>> + if (ret < 0) {
>>> + dev_err(chan2dev(chan), "clk_prepare_enable failed: %d\n",
>>> ret);
>>> + return ret;
>>> + }
>>> +
>>> + ret = stm32_dma_disable_chan(chan);
>>> +
>>> + return ret;
>>> +}
>>
>>
>> The error path here looks like it will leak clock references.
>
> Sorry I didn't catch it. What does it mean ?
If stm32_dma_disable_chan() returns an error then we will not restore
the original the clock counts causing them to "leak".
Daniel.
More information about the linux-arm-kernel
mailing list