From 0479d9429122b2367bac5c7ea59c2109d4e96bed Mon Sep 17 00:00:00 2001 From: Soomin Kim Date: Mon, 26 Sep 2016 10:27:00 +0900 Subject: [PATCH] [COMMON] thermal: isp: Modify loop count(KASAN bug) Since loop size is bigger than ECT table size for thermal throttling. So, fix it. Change-Id: Ifc4e2c37d480bf3d71a516cb4fbbb1f63b4b4612 Signed-off-by: Soomin Kim --- drivers/thermal/isp_cooling.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/thermal/isp_cooling.c b/drivers/thermal/isp_cooling.c index 5c54fdebcd58..b4523b59cbb9 100644 --- a/drivers/thermal/isp_cooling.c +++ b/drivers/thermal/isp_cooling.c @@ -522,24 +522,23 @@ int isp_cooling_table_init(struct platform_device *pdev) isp_fps_table = kzalloc(sizeof(struct isp_fps_table) * (function->num_of_range + 1), GFP_KERNEL); if (thermal_block != NULL && function != NULL) { - for (i = 0; i < function->num_of_range + 1; i++) { + for (i = 0; i < function->num_of_range; i++) { if (last_fps == function->range_list[i].max_frequency) continue; isp_fps_table[count].flags = 0; isp_fps_table[count].driver_data = count; - - if (i == function->num_of_range) - isp_fps_table[count].fps = ISP_FPS_TABLE_END; - else - isp_fps_table[count].fps = function->range_list[i].max_frequency; - + isp_fps_table[count].fps = function->range_list[i].max_frequency; last_fps = isp_fps_table[count].fps; dev_info(&pdev->dev, "[ISP TMU] index : %d, fps : %d \n", isp_fps_table[count].driver_data, isp_fps_table[count].fps); count++; } + + if (i == function->num_of_range) + isp_fps_table[count + 1].fps = ISP_FPS_TABLE_END; + } else return -EINVAL; #else -- 2.20.1