Skip to content
Commit 84631ce1 authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Henrik Brix Andersen
Browse files

drivers: dma: dma_dw_common: Disable channel even if draining times out



If the channel suspend with draining fails on stop because of reasons
outside of the scope of the DMA driver (the peripheral is powered off
before trying to drain for example) we must continue and disable the
channel.

The channel can be released by the client despite of it remained enabled.
A new DMA channel request can pick the channel (as it is released) but
re-configuration is going to be skipped and the use of the channel is going
to fail. Then we will see the same drain timeout on channel stop again
since the channel retained the configuration which resulted the first
timeout.

The drain timeout was made fatal by an earlier commit which fixed the
WAIT_FOR return value handling.

Fixes: 6226f9e6 ("dma: dw: fix the return value check")
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
parent d2001a6f
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment