diff options
author | Wei Yongjun <yongjun_wei@trendmicro.com.cn> | 2012-10-21 07:58:30 -0400 |
---|---|---|
committer | Vinod Koul <vinod.koul@linux.intel.com> | 2012-10-23 23:22:45 -0400 |
commit | 720dfd250e48a8c7fd1b2b8645955413989c4ee0 (patch) | |
tree | b135e9221491a034ba21905730ca2cc253e8ea7e /drivers/dma | |
parent | ddffeb8c4d0331609ef2581d84de4d763607bd37 (diff) |
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.c | 4 |
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) | |||
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; |