]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: davinci: da850: fix da850_set_pll0rate()
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Wed, 7 Dec 2016 15:22:18 +0000 (16:22 +0100)
committerSekhar Nori <nsekhar@ti.com>
Mon, 2 Jan 2017 09:32:51 +0000 (15:02 +0530)
commit6bc1f5ae33a9d36174ccb05f4aae7dfe57f2cec7
treec69b1eda11d056fe71cea569a95ba0c132cd12fd
parent3c3280dbd81f25f75ac4aaa599938cd4e1c9c630
ARM: davinci: da850: fix da850_set_pll0rate()

This function is confusing - its second argument is an index to the
freq table, not the requested clock rate in Hz, but it's used as the
set_rate callback for the pll0 clock. It leads to an oops when the
caller doesn't know the internals and passes the rate in Hz as
argument instead of the cpufreq index since this argument isn't bounds
checked either.

Fix it by iterating over the array of supported frequencies and
selecting a one that matches or returning -EINVAL for unsupported
rates.

Also: update the davinci cpufreq driver. It's the only user of this
clock and currently it passes the cpufreq table index to
clk_set_rate(), which is confusing. Make it pass the requested clock
rate in Hz.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
[nsekhar@ti.com: commit headline update]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arch/arm/mach-davinci/da850.c
drivers/cpufreq/davinci-cpufreq.c