|
@@ -537,11 +537,15 @@ static int __init bnx2i_mod_init(void)
|
|
|
p->iothread = NULL;
|
|
|
}
|
|
|
|
|
|
+ cpu_notifier_register_begin();
|
|
|
+
|
|
|
for_each_online_cpu(cpu)
|
|
|
bnx2i_percpu_thread_create(cpu);
|
|
|
|
|
|
/* Initialize per CPU interrupt thread */
|
|
|
- register_hotcpu_notifier(&bnx2i_cpu_notifier);
|
|
|
+ __register_hotcpu_notifier(&bnx2i_cpu_notifier);
|
|
|
+
|
|
|
+ cpu_notifier_register_done();
|
|
|
|
|
|
return 0;
|
|
|
|
|
@@ -581,11 +585,15 @@ static void __exit bnx2i_mod_exit(void)
|
|
|
}
|
|
|
mutex_unlock(&bnx2i_dev_lock);
|
|
|
|
|
|
- unregister_hotcpu_notifier(&bnx2i_cpu_notifier);
|
|
|
+ cpu_notifier_register_begin();
|
|
|
|
|
|
for_each_online_cpu(cpu)
|
|
|
bnx2i_percpu_thread_destroy(cpu);
|
|
|
|
|
|
+ __unregister_hotcpu_notifier(&bnx2i_cpu_notifier);
|
|
|
+
|
|
|
+ cpu_notifier_register_done();
|
|
|
+
|
|
|
iscsi_unregister_transport(&bnx2i_iscsi_transport);
|
|
|
cnic_unregister_driver(CNIC_ULP_ISCSI);
|
|
|
}
|