]> git.kernelconcepts.de Git - karo-tx-linux.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)
commitd202f05158442396033f416df376f8ece1f563df
tree1c08c8128ac638606af144eec1338c864310a3d4
parentebe80544338a393e94b65995120c3028c80abc62
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 c10d73671ad3 ("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