3e081438b8
Currently the gsmi driver registers a panic notifier as well as
reboot and die notifiers. The callbacks registered are called in
atomic and very limited context - for instance, panic disables
preemption and local IRQs, also all secondary CPUs (not executing
the panic path) are shutdown.
With that said, taking a spinlock in this scenario is a dangerous
invitation for lockup scenarios. So, fix that by checking if the
spinlock is free to acquire in the panic notifier callback - if not,
bail-out and avoid a potential hang.
Fixes:
|
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
coreboot_table.c | ||
coreboot_table.h | ||
framebuffer-coreboot.c | ||
gsmi.c | ||
memconsole-coreboot.c | ||
memconsole-x86-legacy.c | ||
memconsole.c | ||
memconsole.h | ||
vpd.c | ||
vpd_decode.c | ||
vpd_decode.h |