]> git.baikalelectronics.ru Git - kernel.git/commit
dmaengine: at_hdmac: fix race condition in atc_advance_work()
authorLudovic Desroches <ludovic.desroches@atmel.com>
Thu, 18 Apr 2013 07:52:59 +0000 (09:52 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 18 Apr 2013 15:54:22 +0000 (08:54 -0700)
commit55bd78efba691c67b33755d3f2b21771c46ae1ae
tree1c08c8128ac638606af144eec1338c864310a3d4
parent3496558e221fb320743e8d6ffd4d9e28b6f0644e
dmaengine: at_hdmac: fix race condition in atc_advance_work()

The BUG_ON() directive is triggered probably due to a latency
modification following inclusion of commit 5213f87bb7a9 ("softirq:
reduce latencies").  This condition has not been met before 3.9-rc1 and
doesn't trigger without this patch.

We now make sure that DMA channel is idle before calling
atc_complete_all() which makes the BUG_ON() "protection" useless.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/dma/at_hdmac.c