From 0b5e30b054231e32929ae628e1fefe4c33d87823 Mon Sep 17 00:00:00 2001 From: Sylwester Nawrocki Date: Fri, 31 May 2013 08:40:35 -0300 Subject: [PATCH] --- yaml --- r: 377193 b: refs/heads/master c: 3cf138a6393d4ae2aeabce4c4b776d7d15cce69b h: refs/heads/master i: 377191: 2b88f415291c61f25e304f9861cb5ec362549f89 v: v3 --- [refs] | 2 +- trunk/drivers/media/platform/exynos4-is/fimc-is.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index d18f7b3d7192..a6eb6854cf69 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d1c1cc664342cf197afeea4b0dd8145d1edee35c +refs/heads/master: 3cf138a6393d4ae2aeabce4c4b776d7d15cce69b diff --git a/trunk/drivers/media/platform/exynos4-is/fimc-is.c b/trunk/drivers/media/platform/exynos4-is/fimc-is.c index 47c6363d04e2..1adf6dfcb39e 100644 --- a/trunk/drivers/media/platform/exynos4-is/fimc-is.c +++ b/trunk/drivers/media/platform/exynos4-is/fimc-is.c @@ -326,6 +326,11 @@ int fimc_is_start_firmware(struct fimc_is *is) struct device *dev = &is->pdev->dev; int ret; + if (is->fw.f_w == NULL) { + dev_err(dev, "firmware is not loaded\n"); + return -EINVAL; + } + memcpy(is->memory.vaddr, is->fw.f_w->data, is->fw.f_w->size); wmb(); @@ -941,7 +946,8 @@ static int fimc_is_remove(struct platform_device *pdev) vb2_dma_contig_cleanup_ctx(is->alloc_ctx); fimc_is_put_clocks(is); fimc_is_debugfs_remove(is); - release_firmware(is->fw.f_w); + if (is->fw.f_w) + release_firmware(is->fw.f_w); fimc_is_free_cpu_memory(is); return 0;