aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/bnx2i/bnx2i_init.c12
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}