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()
Unified · Split
| @@ -474,8 +474,10 @@ static int imxdma_xfer_desc(struct imxdma_desc *d) · 473 unmodified lines | |||
| 474 | slot = i; | 474 | slot = i; |
| 475 | break; | 475 | break; |
| 476 | } | 476 | } |
| 477 | if (slot < 0) | 477 | if (slot < 0) { |
| 478 | spin_unlock_irqrestore(&imxdma->lock, flags); | ||
| 478 | return -EBUSY; | 479 | return -EBUSY; |
| 480 | } | ||
| 479 | 481 | ||
| 480 | imxdma->slots_2d[slot].xsr = d->x; | 482 | imxdma->slots_2d[slot].xsr = d->x; |
| 481 | imxdma->slots_2d[slot].ysr = d->y; | 483 | imxdma->slots_2d[slot].ysr = d->y; |
| @@ -109,7 +109,7 @@ static void sirfsoc_dma_execute(struct sirfsoc_dma_chan *schan) · 108 unmodified lines | |||
| 109 | sdesc = list_first_entry(&schan->queued, struct sirfsoc_dma_desc, | 109 | sdesc = list_first_entry(&schan->queued, struct sirfsoc_dma_desc, |
| 110 | node); | 110 | node); |
| 111 | /* Move the first queued descriptor to active list */ | 111 | /* Move the first queued descriptor to active list */ |
| 112 | list_move_tail(&schan->queued, &schan->active); | 112 | list_move_tail(&sdesc->node, &schan->active); |
| 113 | 113 | ||
| 114 | /* Start the DMA transfer */ | 114 | /* Start the DMA transfer */ |
| 115 | writel_relaxed(sdesc->width, sdma->base + SIRFSOC_DMA_WIDTH_0 + | 115 | 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 | |||
| 428 | unsigned long iflags; | 428 | unsigned long iflags; |
| 429 | int ret; | 429 | int ret; |
| 430 | 430 | ||
| 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)) { |
| 432 | ret = -EINVAL; | 432 | ret = -EINVAL; |
| 433 | goto err_dir; | 433 | goto err_dir; |
| 434 | } | 434 | } |