From: Dmitry Osipenko Date: Mon, 20 Sep 2021 17:22:49 +0000 (+0300) Subject: PM / devfreq: tegra30: Check whether clk_round_rate() returns zero rate X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4844bdbe9166bc3d194b1d20d13dc1f01d3c1bb7;p=linux.git PM / devfreq: tegra30: Check whether clk_round_rate() returns zero rate 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 Signed-off-by: Dmitry Osipenko Signed-off-by: Viresh Kumar --- diff --git a/drivers/devfreq/tegra30-devfreq.c b/drivers/devfreq/tegra30-devfreq.c index d83fdc2713eda..65ecf17a36f49 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;