Currently, microcode doesn't unregister syscore_ops after it's
unloaded. So if we modprobe then rmmod microcode, the stale
microcode syscore_ops info will stay on syscore_ops_list.
Later when we're trying to reboot/halt/shutdown the machine, kernel
will panic on syscore_shutdown().
With the patch applied, I can reboot/halt/shutdown my machine successfully.
Signed-off-by: Xiaotian Feng <[email protected]>
Cc: Tigran Aivazian <[email protected]>
Cc: Rafael J. Wysocki <[email protected]>
LKML-Reference: <
1301387672[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
microcode_dev_exit();
unregister_hotcpu_notifier(&mc_cpu_notifier);
+ unregister_syscore_ops(&mc_syscore_ops);
get_online_cpus();
mutex_lock(µcode_mutex);