Thread (10 messages) 10 messages, 3 authors, 2021-10-05
STALE1699d REVIEWED: 6 (6M)
Revisions (2)
  1. v1 [diff vs current]
  2. v2 current

[PATCH v2 4/4] PM / devfreq: tegra30: Check whether clk_round_rate() returns zero rate

From: Dmitry Osipenko <digetx@gmail.com>
Date: 2021-09-20 21:03:23
Also in: linux-tegra, lkml
Subsystem: device frequency (devfreq), memory frequency scaling drivers for nvidia tegra, the rest · Maintainers: MyungJoo Ham, Kyungmin Park, Chanwoo Choi, Dmitry Osipenko, Linus Torvalds

EMC clock is always-on and can't be zero. Check whether clk_round_rate()
returns zero rate and error out if it does. It can return zero if clock
tree isn't initialized properly.

Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 drivers/devfreq/tegra30-devfreq.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/devfreq/tegra30-devfreq.c b/drivers/devfreq/tegra30-devfreq.c
index d83fdc2713ed..65ecf17a36f4 100644
--- a/drivers/devfreq/tegra30-devfreq.c
+++ b/drivers/devfreq/tegra30-devfreq.c
@@ -891,9 +891,9 @@ static int tegra_devfreq_probe(struct platform_device *pdev)
 		return err;
 
 	rate = clk_round_rate(tegra->emc_clock, ULONG_MAX);
-	if (rate < 0) {
+	if (rate <= 0) {
 		dev_err(&pdev->dev, "Failed to round clock rate: %ld\n", rate);
-		return rate;
+		return rate ?: -EINVAL;
 	}
 
 	tegra->max_freq = rate / KHZ;
-- 
2.32.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help