diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/platforms/pseries/dlpar.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/pseries/dlpar.c b/arch/powerpc/platforms/pseries/dlpar.c index 4ea667d2b0f3..7cfdaae1721a 100644 --- a/arch/powerpc/platforms/pseries/dlpar.c +++ b/arch/powerpc/platforms/pseries/dlpar.c | |||
@@ -286,8 +286,15 @@ int dlpar_attach_node(struct device_node *dn) | |||
286 | 286 | ||
287 | int dlpar_detach_node(struct device_node *dn) | 287 | int dlpar_detach_node(struct device_node *dn) |
288 | { | 288 | { |
289 | struct device_node *child; | ||
289 | int rc; | 290 | int rc; |
290 | 291 | ||
292 | child = of_get_next_child(dn, NULL); | ||
293 | while (child) { | ||
294 | dlpar_detach_node(child); | ||
295 | child = of_get_next_child(dn, child); | ||
296 | } | ||
297 | |||
291 | rc = of_detach_node(dn); | 298 | rc = of_detach_node(dn); |
292 | if (rc) | 299 | if (rc) |
293 | return rc; | 300 | return rc; |