From: Wei Yongjun Date: Sun, 21 Oct 2012 11:58:30 +0000 (+0800) Subject: dmaengine: imx-dma: fix missing unlock on error in imxdma_xfer_desc() X-Git-Tag: v3.6.5~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fbec5144b1a52c0d81db87626e802a64fd5a9a24;p=thirdparty%2Fkernel%2Fstable.git dmaengine: imx-dma: fix missing unlock on error in imxdma_xfer_desc() commit 720dfd250e48a8c7fd1b2b8645955413989c4ee0 upstream. Add the missing unlock on the error handling path in function imxdma_xfer_desc(). Signed-off-by: Wei Yongjun Signed-off-by: Vinod Koul Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/dma/imx-dma.c b/drivers/dma/imx-dma.c index 5084975d793cd..8aa91132e9ab0 100644 --- a/drivers/dma/imx-dma.c +++ b/drivers/dma/imx-dma.c @@ -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;