drivers/mfd/mfd-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Properly increase OF node reference count when assigning it to a
platform device created for an MFD cell.
Signed-off-by: Sebastian Urban <surban@surban.net>
---
drivers/mfd/mfd-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c
index 16d1861e9682..8e57f67719cf 100644
--- a/drivers/mfd/mfd-core.c
+++ b/drivers/mfd/mfd-core.c
@@ -161,7 +161,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);
- pdev->dev.of_node = np;
+ pdev->dev.of_node = of_node_get(np);
pdev->dev.fwnode = &np->fwnode;
#endif
return 0;
--
2.34.1
On Sat, 17 Sep 2022, Sebastian Urban wrote: > Properly increase OF node reference count when assigning it to a > platform device created for an MFD cell. > > Signed-off-by: Sebastian Urban <surban@surban.net> > --- > drivers/mfd/mfd-core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c > index 16d1861e9682..8e57f67719cf 100644 > --- a/drivers/mfd/mfd-core.c > +++ b/drivers/mfd/mfd-core.c > @@ -161,7 +161,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); > > - pdev->dev.of_node = np; > + pdev->dev.of_node = of_node_get(np); Doesn't this cause an imbalance? Or is there already a put somewhere? > pdev->dev.fwnode = &np->fwnode; > #endif > return 0; -- Lee Jones [李琼斯]
On Tue, 20 Sep 2022, Lee Jones wrote: > On Sat, 17 Sep 2022, Sebastian Urban wrote: > > > Properly increase OF node reference count when assigning it to a > > platform device created for an MFD cell. > > > > Signed-off-by: Sebastian Urban <surban@surban.net> > > --- > > drivers/mfd/mfd-core.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c > > index 16d1861e9682..8e57f67719cf 100644 > > --- a/drivers/mfd/mfd-core.c > > +++ b/drivers/mfd/mfd-core.c > > @@ -161,7 +161,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); > > > > - pdev->dev.of_node = np; > > + pdev->dev.of_node = of_node_get(np); > > Doesn't this cause an imbalance? > > Or is there already a put somewhere? I can't accept this until you've answered my queries. -- Lee Jones [李琼斯]
© 2016 - 2026 Red Hat, Inc.