diff options
-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 f59c0b844e88..0c161ed6d18e 100644 --- a/arch/ia64/kernel/err_inject.c +++ b/arch/ia64/kernel/err_inject.c | |||
@@ -269,12 +269,17 @@ err_inject_init(void) | |||
269 | #ifdef ERR_INJ_DEBUG | 269 | #ifdef ERR_INJ_DEBUG |
270 | printk(KERN_INFO "Enter error injection driver.\n"); | 270 | printk(KERN_INFO "Enter error injection driver.\n"); |
271 | #endif | 271 | #endif |
272 | |||
273 | cpu_notifier_register_begin(); | ||
274 | |||
272 | for_each_online_cpu(i) { | 275 | for_each_online_cpu(i) { |
273 | err_inject_cpu_callback(&err_inject_cpu_notifier, CPU_ONLINE, | 276 | err_inject_cpu_callback(&err_inject_cpu_notifier, CPU_ONLINE, |
274 | (void *)(long)i); | 277 | (void *)(long)i); |
275 | } | 278 | } |
276 | 279 | ||
277 | register_hotcpu_notifier(&err_inject_cpu_notifier); | 280 | __register_hotcpu_notifier(&err_inject_cpu_notifier); |
281 | |||
282 | cpu_notifier_register_done(); | ||
278 | 283 | ||
279 | return 0; | 284 | return 0; |
280 | } | 285 | } |
@@ -288,11 +293,17 @@ err_inject_exit(void) | |||
288 | #ifdef ERR_INJ_DEBUG | 293 | #ifdef ERR_INJ_DEBUG |
289 | printk(KERN_INFO "Exit error injection driver.\n"); | 294 | printk(KERN_INFO "Exit error injection driver.\n"); |
290 | #endif | 295 | #endif |
296 | |||
297 | cpu_notifier_register_begin(); | ||
298 | |||
291 | for_each_online_cpu(i) { | 299 | for_each_online_cpu(i) { |
292 | sys_dev = get_cpu_device(i); | 300 | sys_dev = get_cpu_device(i); |
293 | sysfs_remove_group(&sys_dev->kobj, &err_inject_attr_group); | 301 | sysfs_remove_group(&sys_dev->kobj, &err_inject_attr_group); |
294 | } | 302 | } |
295 | unregister_hotcpu_notifier(&err_inject_cpu_notifier); | 303 | |
304 | __unregister_hotcpu_notifier(&err_inject_cpu_notifier); | ||
305 | |||
306 | cpu_notifier_register_done(); | ||
296 | } | 307 | } |
297 | 308 | ||
298 | module_init(err_inject_init); | 309 | module_init(err_inject_init); |