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@iscas.ac.cn --- 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);