Commit 5f4bbee0 authored by Bastien Curutchet's avatar Bastien Curutchet Committed by Lee Jones
Browse files

mfd: core: Increment of_node's refcount before linking it to the platform device



When an MFD device is added, a platform_device is allocated. If this
device is linked to a DT description, the corresponding OF node is linked
to the new platform device but the OF node's refcount isn't incremented.
As of_node_put() is called during the platform device release, it leads
to a refcount underflow.

Call of_node_get() to increment the OF node's refcount when the node is
linked to the newly created platform device.

Signed-off-by: default avatarBastien Curutchet <bastien.curutchet@bootlin.com>
Link: https://lore.kernel.org/r/20250820-mfd-refcount-v1-1-6dcb5eb41756@bootlin.com


Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent 8a498184
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -131,6 +131,7 @@ static int mfd_match_of_node_to_dev(struct platform_device *pdev,
	of_entry->np = np;
	list_add_tail(&of_entry->list, &mfd_of_node_list);

	of_node_get(np);
	device_set_node(&pdev->dev, of_fwnode_handle(np));
#endif
	return 0;