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:Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Loading
Please sign in to comment