]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
slimbus: qcom-ngd-ctrl: fix OF node refcount
authorBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Sat, 30 May 2026 20:44:14 +0000 (21:44 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Jun 2026 15:19:50 +0000 (17:19 +0200)
Platform devices created with platform_device_alloc() call
platform_device_release() when the last reference to the device's
kobject is dropped. This function calls of_node_put() unconditionally.
This works fine for devices created with platform_device_register_full()
but users of the split approach (platform_device_alloc() +
platform_device_add()) must bump the reference of the of_node they
assign manually. Add the missing call to of_node_get().

Cc: stable@vger.kernel.org
Fixes: 917809e2280b ("slimbus: ngd: Add qcom SLIMBus NGD driver")
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://patch.msgid.link/20260530204421.116824-2-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/slimbus/qcom-ngd-ctrl.c

index 1ed6be6e85d2cfc0a2b65a5ae24f666de922c89d..428266949fdd07ac13c5553bded891225c6e1a16 100644 (file)
@@ -1542,7 +1542,7 @@ static int of_qcom_slim_ngd_register(struct device *parent,
                        kfree(ngd);
                        return ret;
                }
-               ngd->pdev->dev.of_node = node;
+               ngd->pdev->dev.of_node = of_node_get(node);
                ctrl->ngd = ngd;
 
                ret = platform_device_add(ngd->pdev);