diff options
Diffstat (limited to 'arch/ia64/kernel/err_inject.c')
| -rw-r--r-- | arch/ia64/kernel/err_inject.c | 15 | 
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/ia64/kernel/err_inject.c b/arch/ia64/kernel/err_inject.c index f59c0b844e8..0c161ed6d18 100644 --- a/arch/ia64/kernel/err_inject.c +++ b/arch/ia64/kernel/err_inject.c @@ -269,12 +269,17 @@ err_inject_init(void)  #ifdef ERR_INJ_DEBUG  	printk(KERN_INFO "Enter error injection driver.\n");  #endif + +	cpu_notifier_register_begin(); +  	for_each_online_cpu(i) {  		err_inject_cpu_callback(&err_inject_cpu_notifier, CPU_ONLINE,  				(void *)(long)i);  	} -	register_hotcpu_notifier(&err_inject_cpu_notifier); +	__register_hotcpu_notifier(&err_inject_cpu_notifier); + +	cpu_notifier_register_done();  	return 0;  } @@ -288,11 +293,17 @@ err_inject_exit(void)  #ifdef ERR_INJ_DEBUG  	printk(KERN_INFO "Exit error injection driver.\n");  #endif + +	cpu_notifier_register_begin(); +  	for_each_online_cpu(i) {  		sys_dev = get_cpu_device(i);  		sysfs_remove_group(&sys_dev->kobj, &err_inject_attr_group);  	} -	unregister_hotcpu_notifier(&err_inject_cpu_notifier); + +	__unregister_hotcpu_notifier(&err_inject_cpu_notifier); + +	cpu_notifier_register_done();  }  module_init(err_inject_init);  | 
