linux/drivers/pmdomain
Eugen Hristev c41336f4d6 pmdomain: mediatek: fix race conditions with genpd
If the power domains are registered first with genpd and *after that*
the driver attempts to power them on in the probe sequence, then it is
possible that a race condition occurs if genpd tries to power them on
in the same time.
The same is valid for powering them off before unregistering them
from genpd.
Attempt to fix race conditions by first removing the domains from genpd
and *after that* powering down domains.
Also first power up the domains and *after that* register them
to genpd.

Fixes: 59b644b01c ("soc: mediatek: Add MediaTek SCPSYS power domains")
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20231225133615.78993-1-eugen.hristev@collabora.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2024-01-23 13:19:15 +01:00
..
actions pmdomain: Use device_get_match_data() 2023-10-17 11:45:11 +02:00
amlogic pmdomain: amlogic: meson-ee-pwrc: add support for G12A ISP power domain 2023-11-30 12:05:21 +01:00
apple pmdomain: apple: Move Kconfig option to the pmdomain subsystem 2023-09-20 10:08:49 +02:00
arm pmdomain: Merge branch fixes into next 2023-11-27 16:28:51 +01:00
bcm pmdomain: Merge branch fixes into next 2023-10-26 16:01:03 +02:00
imx pmdomain: imx93-pd: Convert to platform remove callback returning void 2023-11-30 12:15:35 +01:00
mediatek pmdomain: mediatek: fix race conditions with genpd 2024-01-23 13:19:15 +01:00
qcom Core: 2024-01-12 13:54:25 -08:00
renesas pmdomain: renesas: r8a77980-sysc: CR7 must be always on 2024-01-22 15:49:56 +01:00
rockchip pmdomain: Use device_get_match_data() 2023-10-17 11:45:11 +02:00
samsung pmdomain: samsung: Move Kconfig option to the pmdomain subsystem 2023-10-04 23:41:56 +02:00
st pmdomain: st: Add a Kconfig option for the ux500 power domain 2023-10-04 23:41:56 +02:00
starfive pmdomain: starfive: Update prefixes for AON power domain 2023-10-04 23:41:57 +02:00
sunxi pmdomain: sunxi: Move Kconfig option to the pmdomain subsystem 2023-10-04 23:41:56 +02:00
tegra pmdomain: tegra: Move Kconfig option to the pmdomain subsystem 2023-10-04 23:41:56 +02:00
ti pmdomain: ti: add missing of_node_put 2023-10-17 11:42:29 +02:00
xilinx pmdomain: xilinx/zynqmp: Convert to platform remove callback returning void 2023-11-30 12:15:36 +01:00
core.c pmdomain: core: Move the unused cleanup to a _sync initcall 2024-01-22 15:47:36 +01:00
governor.c PM: domains: Move genpd and its governor to the pmdomain subsystem 2023-12-18 12:49:48 +01:00
Kconfig pmdomain: arm_scmi: Move Kconfig options to the pmdomain subsystem 2023-11-23 17:32:53 +01:00
Makefile PM: domains: Move genpd and its governor to the pmdomain subsystem 2023-12-18 12:49:48 +01:00