In the Linux kernel, the following vulnerability has been resolved:
clk: mediatek: Do a runtime PM get on controllers during probe
mt8183-mfgcfg has a mutual dependency with genpd during the probing stage, which leads to a deadlock in the following call stack:
CPU0: genpdlock --> clkpreparelock genpdpoweroffworkfn() genpdlock() genericpmdomain::poweroff() clkunprepare() clkpreparelock()
CPU1: clkpreparelock --> genpdlock clkregister() _clkcoreinit() clkpreparelock() clkpmruntimeget() genpd_lock()
Do a runtime PM get at the probe function to make sure clk_register() won't acquire the genpd lock. Instead of only modifying mt8183-mfgcfg, do this on all mediatek clock controller probings because we don't believe this would cause any regression.
Verified on MT8183 and MT8192 Chromebooks.