looks good to me, but please move the local_irq_enable() to within
crash_kexec() instead - probably inside the "got the kexec lock"
section. That makes crash_kexec() use generally safer too i guess: right
it seems that die() too can call crash_kexec() with irqs disabled - and
can thus hang in smp_send_stop() [or wherever it hung before].
Ingo
--