Re: stable-rc 4.14: arm64: Internal error: Oops: clk_reparent __clk_set_parent_before on db410c

From: Stephen Boyd
Date: Thu Jul 23 2020 - 04:06:41 EST


Quoting Arnd Bergmann (2020-07-21 02:51:32)
> __clk_set_parent_before(orphan, parent);
>
> None of the above have changed in stable kernels.
>
> > [ 5.633668] pll_28nm_register+0xa4/0x340 [msm]
> > [ 5.637492] msm_dsi_pll_28nm_init+0xc8/0x1d8 [msm]
> > [ 5.642007] msm_dsi_pll_init+0x34/0xe0 [msm]
> > [ 5.646870] dsi_phy_driver_probe+0x1cc/0x310 [msm]
>
> The only changes to the dsi driver in v4.14-stable were:
>
> 89e30bb46074 drm/msm/dsi: save pll state before dsi host is powered off
> 892afde0f4a1 drm: msm: Fix return type of dsi_mgr_connector_mode_valid for kCFI
> 35ff594b0da2 drm/msm/dsi: Implement reset correctly
> 5151a0c8d730 drm/msm/dsi: use correct enum in dsi_get_cmd_fmt
> e6bc3a4b0c23 clk: divider: fix incorrect usage of container_of
>
> None of these look suspicious to me.
>

It sounds like maybe you need this patch?

bdcf1dc25324 ("clk: Evict unregistered clks from parent caches")

or

4368a1539c6b ("drm/msm: Depopulate platform on probe failure")

I vaguelly recall that the display driver wasn't removing clks becaues
it wasn't removing devices when probe defer happened and then we had
dangling clks in the parent cache confusing things.