public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] dmaengine: virt-dma: fix completion list manipulation
@ 2015-03-02 21:19 Robert Jarzmik
  2015-03-02 21:29 ` Lars-Peter Clausen
  0 siblings, 1 reply; 7+ messages in thread
From: Robert Jarzmik @ 2015-03-02 21:19 UTC (permalink / raw)
  To: Vinod Koul; +Cc: dmaengine, linux-kernel, Robert Jarzmik

When a transfer is completed, the descriptor is moved from issued list
to completed list. Fix the list manipulation, from list_add to
list_move_tail.

The bug was seen with a multiple descriptors issued and completed lists,
where the issued list chaining was corrupted.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
---
 drivers/dma/virt-dma.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/dma/virt-dma.h b/drivers/dma/virt-dma.h
index 3772032..2a3da22 100644
--- a/drivers/dma/virt-dma.h
+++ b/drivers/dma/virt-dma.h
@@ -91,7 +91,7 @@ static inline void vchan_cookie_complete(struct virt_dma_desc *vd)
 	dma_cookie_complete(&vd->tx);
 	dev_vdbg(vc->chan.device->dev, "txd %p[%x]: marked complete\n",
 		 vd, cookie);
-	list_add_tail(&vd->node, &vc->desc_completed);
+	list_move_tail(&vd->node, &vc->desc_completed);
 
 	tasklet_schedule(&vc->task);
 }
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-03-03 11:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-02 21:19 [PATCH] dmaengine: virt-dma: fix completion list manipulation Robert Jarzmik
2015-03-02 21:29 ` Lars-Peter Clausen
2015-03-02 22:03   ` Robert Jarzmik
2015-03-03  7:23     ` Lars-Peter Clausen
2015-03-03 10:27       ` Robert Jarzmik
2015-03-03 11:21         ` Lars-Peter Clausen
2015-03-03 11:55           ` Robert Jarzmik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox