Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dmaengine fixes from Vinod Koul: "Three fixes for slave dmanegine. Two are for typo omissions in sifr dmaengine driver and the last one is for the imx driver fixing a missing unlock" * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma: dmaengine: sirf: fix a typo in moving running dma_desc to active queue dmaengine: sirf: fix a typo in dma_prep_interleaved dmaengine: imx-dma: fix missing unlock on error in imxdma_xfer_desc()
This commit is contained in:
commit
f761237eee
|
@ -474,8 +474,10 @@ static int imxdma_xfer_desc(struct imxdma_desc *d)
|
|||
slot = i;
|
||||
break;
|
||||
}
|
||||
if (slot < 0)
|
||||
if (slot < 0) {
|
||||
spin_unlock_irqrestore(&imxdma->lock, flags);
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
imxdma->slots_2d[slot].xsr = d->x;
|
||||
imxdma->slots_2d[slot].ysr = d->y;
|
||||
|
|
|
@ -109,7 +109,7 @@ static void sirfsoc_dma_execute(struct sirfsoc_dma_chan *schan)
|
|||
sdesc = list_first_entry(&schan->queued, struct sirfsoc_dma_desc,
|
||||
node);
|
||||
/* Move the first queued descriptor to active list */
|
||||
list_move_tail(&schan->queued, &schan->active);
|
||||
list_move_tail(&sdesc->node, &schan->active);
|
||||
|
||||
/* Start the DMA transfer */
|
||||
writel_relaxed(sdesc->width, sdma->base + SIRFSOC_DMA_WIDTH_0 +
|
||||
|
@ -428,7 +428,7 @@ static struct dma_async_tx_descriptor *sirfsoc_dma_prep_interleaved(
|
|||
unsigned long iflags;
|
||||
int ret;
|
||||
|
||||
if ((xt->dir != DMA_MEM_TO_DEV) || (xt->dir != DMA_DEV_TO_MEM)) {
|
||||
if ((xt->dir != DMA_MEM_TO_DEV) && (xt->dir != DMA_DEV_TO_MEM)) {
|
||||
ret = -EINVAL;
|
||||
goto err_dir;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue