From: Mathias Kresin Date: Fri, 28 Jul 2017 17:38:04 +0000 (+0200) Subject: ramips: add NULL clock fix send upstream X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=0a17d2970a5ea9dd83b0fc194cccb38dca19d29b;p=openwrt%2Fstaging%2Fkaloz.git ramips: add NULL clock fix send upstream Make the behaviour of clk_get_rate consistent with common clk's clk_get_rate by accepting NULL clocks as parameter. Some device drivers rely on this, and will cause an OOPS otherwise. Fixes: FS#735 Signed-off-by: Mathias Kresin --- diff --git a/target/linux/ramips/patches-4.9/0101-MIPS-ralink-allow-NULL-clock-for-clk_get_rate.patch b/target/linux/ramips/patches-4.9/0101-MIPS-ralink-allow-NULL-clock-for-clk_get_rate.patch new file mode 100644 index 0000000000..998b0e451d --- /dev/null +++ b/target/linux/ramips/patches-4.9/0101-MIPS-ralink-allow-NULL-clock-for-clk_get_rate.patch @@ -0,0 +1,43 @@ +From patchwork Tue Jul 18 10:17:29 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [8/9] MIPS: ralink: allow NULL clock for clk_get_rate +X-Patchwork-Submitter: Jonas Gorski +X-Patchwork-Id: 16778 +Message-Id: <20170718101730.2541-9-jonas.gorski@gmail.com> +To: unlisted-recipients:; (no To-header on input) +Cc: John Crispin , + Ralf Baechle , linux-mips@linux-mips.org, + linux-kernel@vger.kernel.org +Date: Tue, 18 Jul 2017 12:17:29 +0200 +From: Jonas Gorski +List-Id: linux-mips + +Make the behaviour of clk_get_rate consistent with common clk's +clk_get_rate by accepting NULL clocks as parameter. Some device +drivers rely on this, and will cause an OOPS otherwise. + +Fixes: 3f0a06b0368d ("MIPS: ralink: adds clkdev code") +Cc: John Crispin +Cc: Ralf Baechle +Cc: linux-mips@linux-mips.org +Cc: linux-kernel@vger.kernel.org +Reported-by: Mathias Kresin +Signed-off-by: Jonas Gorski +--- + arch/mips/ralink/clk.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/arch/mips/ralink/clk.c ++++ b/arch/mips/ralink/clk.c +@@ -52,6 +52,9 @@ EXPORT_SYMBOL_GPL(clk_disable); + + unsigned long clk_get_rate(struct clk *clk) + { ++ if (!clk) ++ return 0; ++ + return clk->rate; + } + EXPORT_SYMBOL_GPL(clk_get_rate);