blob: f9ff1bff3ac96b95c00e586ed3c9ad0fa2bbc6fc [file] [log] [blame]
From 2eb3a65ce2770cb10caee2534bb506113c63fda5 Mon Sep 17 00:00:00 2001
From: Adam Ford <>
Date: Tue, 29 Oct 2019 13:42:11 +0100
Subject: [PATCH] media: ov5640: Fix check for PLL1 exceeding max allowed rate
commit 2e3df204f9af42a47823ee955c08950373417420 upstream.
The variable _rate is by ov5640_compute_sys_clk() which returns
zero if the PLL exceeds 1GHz. Unfortunately, the check to see
if the max PLL1 output is checking 'rate' and not '_rate' and
'rate' does not ever appear to be 0.
This patch changes the check against the returned value of
'_rate' to determine if the PLL1 output exceeds 1GHz.
Fixes: aa2882481cad ("media: ov5640: Adjust the clock based on the expected rate")
Signed-off-by: Adam Ford <>
Signed-off-by: Sakari Ailus <>
Signed-off-by: Mauro Carvalho Chehab <>
Signed-off-by: Paul Gortmaker <>
diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
index 75b7cfeaf0eb..2312412dcc51 100644
--- a/drivers/media/i2c/ov5640.c
+++ b/drivers/media/i2c/ov5640.c
@@ -874,7 +874,7 @@ static unsigned long ov5640_calc_sys_clk(struct ov5640_dev *sensor,
* We have reached the maximum allowed PLL1 output,
* increase sysdiv.
- if (!rate)
+ if (!_rate)