diff options
Diffstat (limited to 'kernel/cpu.c')
| -rw-r--r-- | kernel/cpu.c | 9 | 
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c index 9ae6fbe5b5cf..b86b32ebb3b2 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -1252,6 +1252,11 @@ static struct cpuhp_step cpuhp_ap_states[] = {  		.startup.single		= smpboot_unpark_threads,  		.teardown.single	= NULL,  	}, +	[CPUHP_AP_IRQ_AFFINITY_ONLINE] = { +		.name			= "irq/affinity:online", +		.startup.single		= irq_affinity_online_cpu, +		.teardown.single	= NULL, +	},  	[CPUHP_AP_PERF_ONLINE] = {  		.name			= "perf:online",  		.startup.single		= perf_event_init_cpu, @@ -1658,13 +1663,13 @@ static ssize_t write_cpuhp_target(struct device *dev,  	ret = !sp->name || sp->cant_stop ? -EINVAL : 0;  	mutex_unlock(&cpuhp_state_mutex);  	if (ret) -		return ret; +		goto out;  	if (st->state < target)  		ret = do_cpu_up(dev->id, target);  	else  		ret = do_cpu_down(dev->id, target); - +out:  	unlock_device_hotplug();  	return ret ? ret : count;  }  |