From: Wei Yongjun <[email protected]>
Add the missing unlock on the error handling path in function
imxdma_xfer_desc().
Signed-off-by: Wei Yongjun <[email protected]>
---
drivers/dma/imx-dma.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/dma/imx-dma.c b/drivers/dma/imx-dma.c
index f11b5b2..7d9554c 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;
On Sun, 2012-10-21 at 19:58 +0800, Wei Yongjun wrote:
> From: Wei Yongjun <[email protected]>
>
> Add the missing unlock on the error handling path in function
> imxdma_xfer_desc().
>
> Signed-off-by: Wei Yongjun <[email protected]>
> ---
> drivers/dma/imx-dma.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/dma/imx-dma.c b/drivers/dma/imx-dma.c
> index f11b5b2..7d9554c 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;
>
>
> --
Thanks applied
--
Vinod Koul
Intel Corp.