]> git.baikalelectronics.ru Git - kernel.git/commit
dmaengine: at_hdmac: remove clear-on-read in atc_dostart()
authorNicolas Ferre <nicolas.ferre@atmel.com>
Mon, 16 Apr 2012 12:46:30 +0000 (14:46 +0200)
committerVinod Koul <vinod.koul@linux.intel.com>
Fri, 20 Apr 2012 10:08:05 +0000 (15:38 +0530)
commit7d16f848cd3ee68484c3e2f9baeacfe7330a580d
tree2e512cc9d9a21fb5d0d991dd9865a9b8b38b5ab1
parentd46f4d00f5c5c7a8964e995b33fc8a39e356adce
dmaengine: at_hdmac: remove clear-on-read in atc_dostart()

This loop on EBCISR register was designed to clear IRQ sources before enabling
a DMA channel. This register is clear-on-read so a race condition can appear if
another channel is already active and has just finished its transfer.
Removing this read on EBCISR is fixing the issue as there is no case where an IRQ
could be pending: we already make sure that this register is drained at probe()
time and during resume.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
drivers/dma/at_hdmac.c