[COMMON] fimc-is2: Fix a bug of devide by zero
authorSunmi Lee <carrotsm.lee@samsung.com>
Fri, 6 Jul 2018 08:39:03 +0000 (17:39 +0900)
committerSunyoung Kang <sy0816.kang@samsung.com>
Mon, 23 Jul 2018 08:06:22 +0000 (17:06 +0900)
There is a possiblity to execute of dividing by zero in CALC_LNR_INTRPL.

PR JIRA ID: CPR-39

Change-Id: Idb23bc03b5622b79dadc5ebac184a7bc8e4018c6
Signed-off-by: Sunmi Lee <carrotsm.lee@samsung.com>
drivers/media/platform/exynos/fimc-is2/hardware/fimc-is-hw-uvsp-cac.c

index 85e3a25aa60249601876f3a581248a5a4b86d7d9..a45c3e122d86af72127d28469300a11dffe0dc47 100644 (file)
@@ -22,7 +22,7 @@
 #define RSHFT(a)               ((int)((a) >> INTRPL_SHFT_VAL))
 #define NUMERATOR(Y1, Y2, DXn)                 (((Y2) - (Y1)) * (DXn))
 #define CALC_LNR_INTRPL(Y1, Y2, X1, X2, X)     (LSHFT(NUMERATOR(Y1, Y2, SUB(X, X1))) / SUB(X2, X1) + LSHFT(Y1))
-#define GET_LNR_INTRPL(Y1, Y2, X1, X2, X)      RSHFT(CALC_LNR_INTRPL(Y1, Y2, X1, X2, X))
+#define GET_LNR_INTRPL(Y1, Y2, X1, X2, X)      RSHFT(SUB(X2, X1) ? CALC_LNR_INTRPL(Y1, Y2, X1, X2, X) : LSHFT(Y1))
 
 struct ref_ni {
        u32 min;