From: Sylwester Nawrocki Date: Thu, 8 May 2014 17:35:15 +0000 (-0300) Subject: [media] exynos4-is: Free FIMC-IS CPU memory only when allocated X-Git-Tag: firefly_0821_release~176^2~3573^2~117 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=404a90abc60f60df2757cb272660e003d326881f;p=firefly-linux-kernel-4.4.55.git [media] exynos4-is: Free FIMC-IS CPU memory only when allocated Ensure dma_free_coherent() is not called with incorrect arguments and only when the memory was actually allocated. This will prevent possible crashes on error paths of the top level media device driver, when fimc-is device gets unregistered and its driver detached. Signed-off-by: Sylwester Nawrocki Acked-by: Kyungmin Park Cc: stable@vger.kernel.org # for v3.15 Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/platform/exynos4-is/fimc-is.c b/drivers/media/platform/exynos4-is/fimc-is.c index 128b73b6cce2..5476dce3ad29 100644 --- a/drivers/media/platform/exynos4-is/fimc-is.c +++ b/drivers/media/platform/exynos4-is/fimc-is.c @@ -367,6 +367,9 @@ static void fimc_is_free_cpu_memory(struct fimc_is *is) { struct device *dev = &is->pdev->dev; + if (is->memory.vaddr == NULL) + return; + dma_free_coherent(dev, is->memory.size, is->memory.vaddr, is->memory.paddr); }