[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171206163746.8456-1-flavio.ceolin@intel.com>
Date: Wed, 6 Dec 2017 08:37:45 -0800
From: Flavio Ceolin <flavio.ceolin@...el.com>
To: linux-kernel@...r.kernel.org
Cc: Flavio Ceolin <flavio.ceolin@...el.com>,
Andrzej Pietrasiewicz <andrzej.p@...sung.com>,
Jacek Anaszewski <jacek.anaszewski@...il.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
linux-arm-kernel@...ts.infradead.org (open list:ARM/SAMSUNG S5P SERIES
JPEG CODEC SUPPORT),
linux-media@...r.kernel.org (open list:ARM/SAMSUNG S5P SERIES JPEG
CODEC SUPPORT)
Subject: [PATCH] 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: Flavio Ceolin <flavio.ceolin@...el.com>
---
drivers/media/platform/s5p-jpeg/jpeg-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c b/drivers/media/platform/s5p-jpeg/jpeg-core.c
index faac816..79b63da 100644
--- a/drivers/media/platform/s5p-jpeg/jpeg-core.c
+++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c
@@ -3086,7 +3086,7 @@ static int s5p_jpeg_runtime_resume(struct device *dev)
for (i = 0; i < jpeg->variant->num_clocks; i++) {
ret = clk_prepare_enable(jpeg->clocks[i]);
if (ret) {
- while (--i > 0)
+ while (--i >= 0)
clk_disable_unprepare(jpeg->clocks[i]);
return ret;
}
--
2.9.5
Powered by blists - more mailing lists