diff options
Diffstat (limited to 'arch/powerpc/platforms/pseries/hotplug-cpu.c')
| -rw-r--r-- | arch/powerpc/platforms/pseries/hotplug-cpu.c | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c index fc0d8f97c03a..fadb95efbb9e 100644 --- a/arch/powerpc/platforms/pseries/hotplug-cpu.c +++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c @@ -462,15 +462,19 @@ static ssize_t dlpar_cpu_add(u32 drc_index)  	}  	dn = dlpar_configure_connector(cpu_to_be32(drc_index), parent); -	of_node_put(parent);  	if (!dn) {  		pr_warn("Failed call to configure-connector, drc index: %x\n",  			drc_index);  		dlpar_release_drc(drc_index); +		of_node_put(parent);  		return -EINVAL;  	}  	rc = dlpar_attach_node(dn, parent); + +	/* Regardless we are done with parent now */ +	of_node_put(parent); +  	if (rc) {  		saved_rc = rc;  		pr_warn("Failed to attach node %s, rc: %d, drc index: %x\n", |