OSDN Git Service

dmaengine: IOATDMA: fix timer code that continues to restart channels during idle
authorDave Jiang <dave.jiang@intel.com>
Tue, 19 Jan 2016 15:57:48 +0000 (08:57 -0700)
committerVinod Koul <vinod.koul@intel.com>
Sat, 30 Jan 2016 16:59:03 +0000 (22:29 +0530)
commit8a695db01dc2b07959628626bc3810c4c6ff2681
tree3519ee6667cbc08465b7efb26cabd2fc8ed302a9
parent92e963f50fc74041b5e9e744c330dca48e04f08d
dmaengine: IOATDMA: fix timer code that continues to restart channels during idle

The timer_event() function seems to have a bug where it ends up marking the
last entry as non-responding and eventually attempts to restart the
channel.  This also continuously happen when idle. What needs to happen is
for us to make sure there are no descriptors active and then handle that
case properly.  We should only hit the "cleanup" stage if there are still
active descriptors.

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/ioat/dma.c