Something is wrong with the exynos_dp_core logic, and gcc
emits a warning about this. An array is declared in
exynos_dp_process_equalizer_training with length '2',
and exynos_dp_channel_eq_ok tries to access the third
element of it.

This patch is certainly not correct, but hopefully helps
highlight the actual problem. The problem apparently was
introduced by d5c0eed01 "video: exynos_dp: adjust voltage
swing and pre-emphasis during Link Training".

This is what we get in exynos_defconfig:
drivers/video/exynos/exynos_dp_core.c: In function 
'exynos_dp_process_equalizer_training':
drivers/video/exynos/exynos_dp_core.c:341:13: warning: array subscript is above 
array bounds [-Warray-bounds]

Signed-off-by: Arnd Bergmann <[email protected]>
Cc: Jingoo Han <[email protected]>
Cc: Florian Tobias Schandinat <[email protected]>
---
 drivers/video/exynos/exynos_dp_core.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/video/exynos/exynos_dp_core.c 
b/drivers/video/exynos/exynos_dp_core.c
index cdc1398..358b595 100644
--- a/drivers/video/exynos/exynos_dp_core.c
+++ b/drivers/video/exynos/exynos_dp_core.c
@@ -542,7 +542,7 @@ reduce_link_rate:
 
 static int exynos_dp_process_equalizer_training(struct exynos_dp_device *dp)
 {
-       u8 link_status[2];
+       u8 link_status[3];
        u8 link_align[3];
        int lane;
        int lane_count;
-- 
1.7.10

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to