[PATCH] staging: greybus: arche-platform: fix pm_notifier leak in probe error path

From: Haotian Zhang

Date: Tue Nov 04 2025 - 04:12:06 EST


In arche_platform_probe(), if arche_platform_coldboot_seq() fails after
register_pm_notifier() succeeds, the function returns without unregistering
the pm_notifier, leading to a resource leak.

Add unregister_pm_notifier() call in the err_coldboot error path to
properly clean up the registered notifier on failure.

Fixes: d29b67d44a7c ("greybus: arche-platform: Add support for init-off feature")
Signed-off-by: Haotian Zhang <vulab@xxxxxxxxxxx>
---
drivers/staging/greybus/arche-platform.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/staging/greybus/arche-platform.c b/drivers/staging/greybus/arche-platform.c
index d48464390f58..9c5bb5dae187 100644
--- a/drivers/staging/greybus/arche-platform.c
+++ b/drivers/staging/greybus/arche-platform.c
@@ -545,6 +545,7 @@ static int arche_platform_probe(struct platform_device *pdev)
return 0;

err_coldboot:
+ unregister_pm_notifier(&arche_pdata->pm_notifier);
mutex_unlock(&arche_pdata->platform_state_mutex);
err_device_remove:
device_remove_file(&pdev->dev, &dev_attr_state);
--
2.50.1.windows.1