diff options
-rw-r--r-- | drivers/scsi/bnx2i/bnx2i_init.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/scsi/bnx2i/bnx2i_init.c b/drivers/scsi/bnx2i/bnx2i_init.c index 34c294b42c84..80c03b452d61 100644 --- a/drivers/scsi/bnx2i/bnx2i_init.c +++ b/drivers/scsi/bnx2i/bnx2i_init.c | |||
@@ -537,11 +537,15 @@ static int __init bnx2i_mod_init(void) | |||
537 | p->iothread = NULL; | 537 | p->iothread = NULL; |
538 | } | 538 | } |
539 | 539 | ||
540 | cpu_notifier_register_begin(); | ||
541 | |||
540 | for_each_online_cpu(cpu) | 542 | for_each_online_cpu(cpu) |
541 | bnx2i_percpu_thread_create(cpu); | 543 | bnx2i_percpu_thread_create(cpu); |
542 | 544 | ||
543 | /* Initialize per CPU interrupt thread */ | 545 | /* Initialize per CPU interrupt thread */ |
544 | register_hotcpu_notifier(&bnx2i_cpu_notifier); | 546 | __register_hotcpu_notifier(&bnx2i_cpu_notifier); |
547 | |||
548 | cpu_notifier_register_done(); | ||
545 | 549 | ||
546 | return 0; | 550 | return 0; |
547 | 551 | ||
@@ -581,11 +585,15 @@ static void __exit bnx2i_mod_exit(void) | |||
581 | } | 585 | } |
582 | mutex_unlock(&bnx2i_dev_lock); | 586 | mutex_unlock(&bnx2i_dev_lock); |
583 | 587 | ||
584 | unregister_hotcpu_notifier(&bnx2i_cpu_notifier); | 588 | cpu_notifier_register_begin(); |
585 | 589 | ||
586 | for_each_online_cpu(cpu) | 590 | for_each_online_cpu(cpu) |
587 | bnx2i_percpu_thread_destroy(cpu); | 591 | bnx2i_percpu_thread_destroy(cpu); |
588 | 592 | ||
593 | __unregister_hotcpu_notifier(&bnx2i_cpu_notifier); | ||
594 | |||
595 | cpu_notifier_register_done(); | ||
596 | |||
589 | iscsi_unregister_transport(&bnx2i_iscsi_transport); | 597 | iscsi_unregister_transport(&bnx2i_iscsi_transport); |
590 | cnic_unregister_driver(CNIC_ULP_ISCSI); | 598 | cnic_unregister_driver(CNIC_ULP_ISCSI); |
591 | } | 599 | } |