]> www.infradead.org Git - users/dwmw2/linux.git/commit
bus: ti-sysc: Fix handling of invalid clocks
authorTony Lindgren <tony@atomide.com>
Thu, 5 Sep 2019 20:01:29 +0000 (13:01 -0700)
committerTony Lindgren <tony@atomide.com>
Thu, 5 Sep 2019 20:01:29 +0000 (13:01 -0700)
commit2783d0638a51e8dba6319d9f4a2b445995a4fad1
tree92dd0da42fa8bf07290c0488e26e43cadb1d9ea4
parentd098913a10f8ef8e6043765d7f2fa552527d9c42
bus: ti-sysc: Fix handling of invalid clocks

We can currently get "Unable to handle kernel paging request at
virtual address" for invalid clocks with dts node but no driver:

(__clk_get_hw) from [<c0138ebc>] (ti_sysc_find_one_clockdomain+0x18/0x34)
(ti_sysc_find_one_clockdomain) from [<c0138f0c>] (ti_sysc_clkdm_init+0x34/0xdc)
(ti_sysc_clkdm_init) from [<c0584660>] (sysc_probe+0xa50/0x10e8)
(sysc_probe) from [<c065c6ac>] (platform_drv_probe+0x58/0xa8)

Let's add IS_ERR checks to ti_sysc_clkdm_init() as And let's start treating
clk_get() with -ENOENT as a proper error. If the clock name is specified
in device tree we must succeed with clk_get() to continue. For modules with
no clock names specified in device tree we will just ignore the clocks.

Fixes: 2b2f7def058a ("bus: ti-sysc: Add support for missing clockdomain handling")
Acked-by: Roger Quadros <rogerq@ti.com>
Tested-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/pdata-quirks.c
drivers/bus/ti-sysc.c