OSDN Git Service

dma: cppi41: redo descriptor collection in abort case
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Tue, 22 Oct 2013 10:14:05 +0000 (12:14 +0200)
committerVinod Koul <vinod.koul@intel.com>
Tue, 12 Nov 2013 08:58:24 +0000 (14:28 +0530)
commit1e378a6d7789bf142319c6207398367336c49082
tree520f3cdd71c21e1a55df6786a2e5747bc36f7bb1
parent706ff628f0669f28e370d2ad30672e5032dc64b2
dma: cppi41: redo descriptor collection in abort case

Most of the logic here is try and error since what actually happens does
not match the trm or I miss read it.
My first assumption was that the queue on which the tear-down descriptor
completes (their own complete queue vs "active descriptor" complete
queue) depends on the transfer direction. This seems not to be true
because I manage to trigger
|  WARN_ON(c->desc_phys != desc_phys);
and the other few were fine means the tear-down descriptor was valid but
on different queue.

This patch changes the logic here to look on both queues for the
descriptor.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/cppi41.c