parisc: Replace regular spinlock with spin_trylock on panic path
authorGuilherme G. Piccoli <gpiccoli@igalia.com>
Mon, 20 Feb 2023 21:11:05 +0000 (18:11 -0300)
committerHelge Deller <deller@gmx.de>
Wed, 3 May 2023 15:43:26 +0000 (17:43 +0200)
commit829632dae8321787525ee37dc4828bbe6edafdae
treeed3c7d2bf77f2ad379e8655759ba18a3c24f0d60
parente0838a99289e013d17496ed9464c3cf71d49b977
parisc: Replace regular spinlock with spin_trylock on panic path

The panic notifiers' callbacks execute in an atomic context, with
interrupts/preemption disabled, and all CPUs not running the panic
function are off, so it's very dangerous to wait on a regular
spinlock, there's a risk of deadlock.

Refactor the panic notifier of parisc/power driver to make use
of spin_trylock - for that, we've added a second version of the
soft-power function. Also, some comments were reorganized and
trailing white spaces, useless header inclusion and blank lines
were removed.

Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Jeroen Roovers <jer@xs4all.nl>
Acked-by: Helge Deller <deller@gmx.de> # parisc
Signed-off-by: Guilherme G. Piccoli <gpiccoli@igalia.com>
Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/include/asm/pdc.h
arch/parisc/kernel/firmware.c
drivers/parisc/power.c