]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
staging: greybus: arche-platform: fix memleak on probe failure
authorJohan Hovold <johan@kernel.org>
Fri, 19 Dec 2025 10:59:27 +0000 (11:59 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 22 Dec 2025 08:43:11 +0000 (09:43 +0100)
Make sure to depopulate the child devices in case of late probe
failures to avoid leaking the corresponding resources.

Fixes: fd60ac585607 ("greybus: arche-platform: Fix boot, poweroff and fw_flashing seq with APBs")
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20251219105928.23329-3-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/greybus/arche-platform.c

index bd069d75391b04f49784b080d943754ffa9fb246..7dcb33a6f2e3ad54511b0496b505240528011998 100644 (file)
@@ -523,10 +523,9 @@ static int arche_platform_probe(struct platform_device *pdev)
 
        arche_pdata->pm_notifier.notifier_call = arche_platform_pm_notifier;
        ret = register_pm_notifier(&arche_pdata->pm_notifier);
-
        if (ret) {
                dev_err(dev, "failed to register pm notifier %d\n", ret);
-               goto err_device_remove;
+               goto err_depopulate;
        }
 
        /* Explicitly power off if requested */
@@ -547,6 +546,8 @@ static int arche_platform_probe(struct platform_device *pdev)
 
 err_unregister_pm_notifier:
        unregister_pm_notifier(&arche_pdata->pm_notifier);
+err_depopulate:
+       of_platform_depopulate(dev);
 err_device_remove:
        device_remove_file(&pdev->dev, &dev_attr_state);
        return ret;