RE: [PATCH] dma/fsldma : Unmap region obtained by of_iomap

From: Leo Li
Date: Thu Sep 29 2016 - 15:30:49 EST




> -----Original Message-----
> From: Arvind Yadav [mailto:arvind.yadav.cs@xxxxxxxxx]
> Sent: Wednesday, September 28, 2016 5:45 AM
> To: leoli@xxxxxxxxxxxxx; zw@xxxxxxxxxxxxx; vinod.koul@xxxxxxxxx
> Cc: dan.j.williams@xxxxxxxxx; linuxppc-dev@xxxxxxxxxxxxxxxx;
> dmaengine@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH] dma/fsldma : Unmap region obtained by of_iomap
>
> Free memory mapping, if probe is not successful.
>
> Signed-off-by: Arvind Yadav <arvind.yadav.cs@xxxxxxxxx>

Acked-by: Li Yang <leoyang.li@xxxxxxx>

> ---
> drivers/dma/fsldma.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c index
> 911b717..7ba8944 100644
> --- a/drivers/dma/fsldma.c
> +++ b/drivers/dma/fsldma.c
> @@ -1351,7 +1351,7 @@ static int fsldma_of_probe(struct platform_device
> *op)
> if (!fdev->regs) {
> dev_err(&op->dev, "unable to ioremap registers\n");
> err = -ENOMEM;
> - goto out_free_fdev;
> + goto out_free;
> }
>
> /* map the channel IRQ if it exists, but don't hookup the handler yet */
> @@ -1416,6 +1416,8 @@ static int fsldma_of_probe(struct platform_device
> *op)
>
> out_free_fdev:
> irq_dispose_mapping(fdev->irq);
> + iounmap(fdev->regs);
> +out_free:
> kfree(fdev);
> out_return:
> return err;
> --
> 1.7.9.5