On 9/7/21 1:59 AM, Xu Wang wrote:
quoted hunk ↗ jump to hunk
Device node iterators put the previous value of the index variable,
so an explicit put causes a double put.
Signed-off-by: Xu Wang <redacted>
---
drivers/pci/hotplug/pnv_php.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/pci/hotplug/pnv_php.c b/drivers/pci/hotplug/pnv_php.c
index 04565162a449..ed4d1a2c3f22 100644
--- a/drivers/pci/hotplug/pnv_php.c
+++ b/drivers/pci/hotplug/pnv_php.c
@@ -158,7 +158,6 @@ static void pnv_php_detach_device_nodes(struct device_node *parent)
for_each_child_of_node(parent, dn) {
pnv_php_detach_device_nodes(dn);
- of_node_put(dn);
of_detach_node(dn);
Are you sure this is a double put? This looks to me like its meant to drive tear
down of the device by putting a long term reference and not the short term get
that is part of the iterator.
-Tyrel
}
}