diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/platforms/pseries/dlpar.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/arch/powerpc/platforms/pseries/dlpar.c b/arch/powerpc/platforms/pseries/dlpar.c index 0f1b706..2767276 100644 --- a/arch/powerpc/platforms/pseries/dlpar.c +++ b/arch/powerpc/platforms/pseries/dlpar.c @@ -416,6 +416,12 @@ static ssize_t dlpar_cpu_probe(const char *buf, size_t count) goto out; } + rc = dlpar_acquire_drc(drc_index); + if (rc) { + rc = -EINVAL; + goto out; + } + dn = dlpar_configure_connector(drc_index); if (!dn) { rc = -EINVAL; @@ -436,13 +442,6 @@ static ssize_t dlpar_cpu_probe(const char *buf, size_t count) kfree(dn->full_name); dn->full_name = cpu_name; - rc = dlpar_acquire_drc(drc_index); - if (rc) { - dlpar_free_cc_nodes(dn); - rc = -EINVAL; - goto out; - } - rc = dlpar_attach_node(dn); if (rc) { dlpar_release_drc(drc_index); |