diff --git a/drivers/dma/pxp/pxp_dma_v3.c b/drivers/dma/pxp/pxp_dma_v3.c index b99d975c0638747dae968b764c5177c8a3653a60..8a86c97895d17a32b589c255ec4f1ab1531c70ac 100644 --- a/drivers/dma/pxp/pxp_dma_v3.c +++ b/drivers/dma/pxp/pxp_dma_v3.c @@ -4272,6 +4272,12 @@ static void pxp_issue_pending(struct dma_chan *chan) spin_unlock(&pxp_chan->lock); pxp_clk_enable(pxp); + + pxp_soft_reset(pxp); + if (pxp->devdata && pxp->devdata->pxp_data_path_config) + pxp->devdata->pxp_data_path_config(pxp); + __raw_writel(0xffff, pxp->base + HW_PXP_IRQ_MASK); + wake_up_interruptible(&pxp->thread_waitq); }