History

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()

Linus Torvalds committed 14 years ago

Commit f7612372 parents 64b1cba 26fd1222 files · +5 −3Browse files

Unified · Split

2 files
  1. drivers/dma/imx-dma.c +3 −1
  2. drivers/dma/sirf-dma.c +2 −2
drivers/dma/imx-dma.c+3−1
@@ -474,8 +474,10 @@ static int imxdma_xfer_desc(struct imxdma_desc *d) · 473 unmodified lines
474474 slot = i;
475475 break;
476476 }
477− if (slot < 0)
477+ if (slot < 0) {
478+ spin_unlock_irqrestore(&imxdma->lock, flags);
478479 return -EBUSY;
480+ }
479481
480482 imxdma->slots_2d[slot].xsr = d->x;
481483 imxdma->slots_2d[slot].ysr = d->y;
drivers/dma/sirf-dma.c+2−2
@@ -109,7 +109,7 @@ static void sirfsoc_dma_execute(struct sirfsoc_dma_chan *schan) · 108 unmodified lines
109109 sdesc = list_first_entry(&schan->queued, struct sirfsoc_dma_desc,
110110 node);
111111 /* Move the first queued descriptor to active list */
112− list_move_tail(&schan->queued, &schan->active);
112+ list_move_tail(&sdesc->node, &schan->active);
113113
114114 /* Start the DMA transfer */
115115 writel_relaxed(sdesc->width, sdma->base + SIRFSOC_DMA_WIDTH_0 +
@@ -428,7 +428,7 @@ static struct dma_async_tx_descriptor *sirfsoc_dma_prep_interleaved( · 312 unmodified lines
428428 unsigned long iflags;
429429 int ret;
430430
431− if ((xt->dir != DMA_MEM_TO_DEV) || (xt->dir != DMA_DEV_TO_MEM)) {
431+ if ((xt->dir != DMA_MEM_TO_DEV) && (xt->dir != DMA_DEV_TO_MEM)) {
432432 ret = -EINVAL;
433433 goto err_dir;
434434 }