mirror of
https://github.com/torvalds/linux.git
synced 2026-11-06 21:58:01 +01:00
interconnect: exynos: Remove the PM QoS request on unbind
The Exynos interconnect provider adds a minimum-frequency PM QoS request
to its parent devfreq device. The request is embedded in the provider's
device-managed private data.
The probe error path removes the request, but the remove callback does
not. Unbinding the provider while the parent device remains registered
therefore frees the private data with the request still on the parent's
QoS list. The child's device cleanup does not remove requests registered
against its parent.
Remove the request after deregistering the provider, before the private
data is released.
This issue was identified during our ongoing static-analysis research while
reviewing kernel code.
Fixes: 2f95b9d5cf ("interconnect: Add generic interconnect driver for Exynos SoCs")
Co-developed-by: Ijae Kim <ae878000@gmail.com>
Signed-off-by: Ijae Kim <ae878000@gmail.com>
Signed-off-by: Myeonghun Pak <mhun512@gmail.com>
Link: https://patch.msgid.link/20260911031750.8182-1-mhun512@gmail.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
This commit is contained in:
parent
77cac270e3
commit
601a54f007
|
|
@ -98,6 +98,7 @@ static void exynos_generic_icc_remove(struct platform_device *pdev)
|
|||
struct exynos_icc_priv *priv = platform_get_drvdata(pdev);
|
||||
|
||||
icc_provider_deregister(&priv->provider);
|
||||
dev_pm_qos_remove_request(&priv->qos_req);
|
||||
icc_nodes_remove(&priv->provider);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user