diff options
author | Wei Yongjun <yongjun_wei@trendmicro.com.cn> | 2012-10-21 19:58:30 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-10-31 10:10:21 -0700 |
commit | fbec5144b1a52c0d81db87626e802a64fd5a9a24 (patch) | |
tree | e06fd516deeb8b96945b117be808202a9f0627d9 /drivers | |
parent | 7a263f0c7f4acdb1b58cf0e59e6a941b819bd550 (diff) |
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 <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/dma/imx-dma.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dma/imx-dma.c b/drivers/dma/imx-dma.c index 5084975d793..8aa91132e9a 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; |