Commit b6852a6d authored by Flavio Ceolin's avatar Flavio Ceolin Committed by Mauro Carvalho Chehab

media: s5p-jpeg: Fix off-by-one problem

s5p_jpeg_runtime_resume() does not call clk_disable_unprepare()
for jpeg->clocks[0] when one of the clk_prepare_enable() fails.

Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: default avatarFlavio Ceolin <flavio.ceolin@intel.com>
Acked-by: default avatarAndrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 3090a191
...@@ -3086,7 +3086,7 @@ static int s5p_jpeg_runtime_resume(struct device *dev) ...@@ -3086,7 +3086,7 @@ static int s5p_jpeg_runtime_resume(struct device *dev)
for (i = 0; i < jpeg->variant->num_clocks; i++) { for (i = 0; i < jpeg->variant->num_clocks; i++) {
ret = clk_prepare_enable(jpeg->clocks[i]); ret = clk_prepare_enable(jpeg->clocks[i]);
if (ret) { if (ret) {
while (--i > 0) while (--i >= 0)
clk_disable_unprepare(jpeg->clocks[i]); clk_disable_unprepare(jpeg->clocks[i]);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment