diff options
author | Arvind Yadav <arvind.yadav.cs@gmail.com> | 2017-03-17 12:21:23 +0530 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-03-21 08:52:29 +0100 |
commit | 4b4eda001704f3a26e55d99b1d61844d81b12361 (patch) | |
tree | 0435fb8b9ec061d9b5ae588e5e25592062f8ba9e /drivers/staging/media/davinci_vpfe/dm365_ipipe.c | |
parent | staging:sm750fb: Code readability is improved. (diff) | |
download | linux-dev-4b4eda001704f3a26e55d99b1d61844d81b12361.tar.xz linux-dev-4b4eda001704f3a26e55d99b1d61844d81b12361.zip |
Staging: media: Unmap and release region obtained by ioremap_nocache
Free memory mapping, if vpfe_ipipe_init is not successful.
Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to '')
-rw-r--r-- | drivers/staging/media/davinci_vpfe/dm365_ipipe.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/staging/media/davinci_vpfe/dm365_ipipe.c b/drivers/staging/media/davinci_vpfe/dm365_ipipe.c index ff47a8f369fc..6a3434cebd79 100644 --- a/drivers/staging/media/davinci_vpfe/dm365_ipipe.c +++ b/drivers/staging/media/davinci_vpfe/dm365_ipipe.c @@ -1803,14 +1803,14 @@ vpfe_ipipe_init(struct vpfe_ipipe_device *ipipe, struct platform_device *pdev) return -EBUSY; ipipe->base_addr = ioremap_nocache(res->start, res_len); if (!ipipe->base_addr) - return -EBUSY; + goto error_release; res = platform_get_resource(pdev, IORESOURCE_MEM, 6); if (!res) - return -ENOENT; + goto error_unmap; ipipe->isp5_base_addr = ioremap_nocache(res->start, res_len); if (!ipipe->isp5_base_addr) - return -EBUSY; + goto error_unmap; v4l2_subdev_init(sd, &ipipe_v4l2_ops); sd->internal_ops = &ipipe_v4l2_internal_ops; @@ -1839,6 +1839,12 @@ vpfe_ipipe_init(struct vpfe_ipipe_device *ipipe, struct platform_device *pdev) sd->ctrl_handler = &ipipe->ctrls; return media_entity_pads_init(me, IPIPE_PADS_NUM, pads); + +error_unmap: + iounmap(ipipe->base_addr); +error_release: + release_mem_region(res->start, res_len); + return -ENOMEM; } /* |