]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: mv643xx: fix OF node refcount
authorBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Tue, 2 Jun 2026 07:34:14 +0000 (09:34 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 5 Jun 2026 01:40:31 +0000 (18:40 -0700)
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: 76723bca2802 ("net: mv643xx_eth: add DT parsing support")
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260602073414.22500-1-bartosz.golaszewski@oss.qualcomm.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/marvell/mv643xx_eth.c

index f9055b3d6fb102ebc695dce9c6c8321889a78dfa..1881583be5ce2e972fceb14c2b8348280c49ad1d 100644 (file)
@@ -2780,7 +2780,7 @@ static int mv643xx_eth_shared_of_add_port(struct platform_device *pdev,
                goto put_err;
        }
        ppdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
-       ppdev->dev.of_node = pnp;
+       ppdev->dev.of_node = of_node_get(pnp);
 
        ret = platform_device_add_resources(ppdev, &res, 1);
        if (ret)