diff options
author | Sooman Jeong <sm5.jeong@samsung.com> | 2016-05-10 14:01:36 +0900 |
---|---|---|
committer | wansu.yoo <wansu.yoo@samsung.com> | 2016-08-22 14:44:44 +0900 |
commit | 9b8d75e3e3287fc2e8b62dab026ee2e3b711fb37 (patch) | |
tree | 19a7d629398607cb16c427011648d2f394cfc3fa | |
parent | 0d3183539dfad6a2176e12ac80df623d1988626a (diff) | |
download | linux-3.10-artik-9b8d75e3e3287fc2e8b62dab026ee2e3b711fb37.tar.gz linux-3.10-artik-9b8d75e3e3287fc2e8b62dab026ee2e3b711fb37.tar.bz2 linux-3.10-artik-9b8d75e3e3287fc2e8b62dab026ee2e3b711fb37.zip |
exynos: fimc-is: correct error handling of flite
This patch corrects error handling of flite driver.
With existing error handing, all remaining video frames will
be corrupted if one frame v-blank error is occured because flite
just return with error message without clearing DMA path.
In order to prevent this case, we have to clear DMA path
even if 1-frame v-blank error is occured.
Change-Id: If9f0039049f129d97788e8a44e51113576fbc9da
Signed-off-by: Sooman Jeong <sm5.jeong@samsung.com>
-rw-r--r-- | drivers/media/platform/exynos/fimc-is/fimc-is-device-flite.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/media/platform/exynos/fimc-is/fimc-is-device-flite.c b/drivers/media/platform/exynos/fimc-is/fimc-is-device-flite.c index bea07342d0c..07c2c962dd8 100644 --- a/drivers/media/platform/exynos/fimc-is/fimc-is-device-flite.c +++ b/drivers/media/platform/exynos/fimc-is/fimc-is-device-flite.c @@ -913,9 +913,8 @@ static inline int flite_s_unuse_buffer(struct fimc_is_device_flite *flite, } if (flite_hw_get_status1(flite->base_reg) && (7 << 20)) { - merr("over vblank (buf-mode : %d)", flite, flite->buf_done_mode); - ret = -EINVAL; - goto p_err; + mwarn("over vblank (buf-mode : %d)", flite, + flite->buf_done_mode); } flite_hw_set_output_dma(flite->base_reg, false, flite->image.format.pixelformat); @@ -926,7 +925,6 @@ static inline int flite_s_unuse_buffer(struct fimc_is_device_flite *flite, atomic_dec(&flite->bcount); } -p_err: return ret; } |