summaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2012-10-21 19:58:30 +0800
committerVinod Koul <vinod.koul@linux.intel.com>2012-10-24 08:52:45 +0530
commit720dfd250e48a8c7fd1b2b8645955413989c4ee0 (patch)
treeb135e9221491a034ba21905730ca2cc253e8ea7e /drivers/dma
parentddffeb8c4d0331609ef2581d84de4d763607bd37 (diff)
downloadlinux-720dfd250e48a8c7fd1b2b8645955413989c4ee0.tar.gz
linux-720dfd250e48a8c7fd1b2b8645955413989c4ee0.tar.bz2
linux-720dfd250e48a8c7fd1b2b8645955413989c4ee0.zip
dmaengine: imx-dma: fix missing unlock on error in imxdma_xfer_desc()
Add the missing unlock on the error handling path in function imxdma_xfer_desc(). Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Cc: stable <stable@vger.kernel.org> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/imx-dma.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dma/imx-dma.c b/drivers/dma/imx-dma.c
index f11b5b2b1a1c..7d9554cc4976 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;