[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1334830824-10908-1-git-send-email-ciminaghi@gnudd.com>
Date:	Thu, 19 Apr 2012 12:20:24 +0200
From:	ciminaghi@...dd.com
To:	vinod.koul@...el.com, linux-kernel@...r.kernel.org
Cc:	dan.j.williams@...el.com, pgeninatti@...t-in.com,
	acolosimo@...t-in.com, alarosa@...nintellect.eu,
	Davide Ciminaghi <ciminaghi@...dd.com>
Subject: [PATCH] dmaengine/amba-pl08x : reset phychan_hold on terminate all
From: Davide Ciminaghi <ciminaghi@...dd.com>
When a client calls pl08x_control with DMA_TERMINATE_ALL, it is correct
to terminate and release the phy channel currently in use (if one is in use),
but the phychan_hold counter must also be reset (otherwise it could get
trapped in an unbalanced state).
Signed-off-by: Davide Ciminaghi <ciminaghi@...dd.com>
---
 drivers/dma/amba-pl08x.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c
index c301a8e..3d704ab 100644
--- a/drivers/dma/amba-pl08x.c
+++ b/drivers/dma/amba-pl08x.c
@@ -1429,6 +1429,7 @@ static int pl08x_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd,
 			 * signal
 			 */
 			release_phy_channel(plchan);
+			plchan->phychan_hold = 0;
 		}
 		/* Dequeue jobs and free LLIs */
 		if (plchan->at) {
-- 
1.7.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Powered by blists - more mailing lists
 
