OSDN Git Service

powerpc/pseries/ras: fwnmi sreset should not interlock
authorNicholas Piggin <npiggin@gmail.com>
Fri, 8 May 2020 04:34:00 +0000 (14:34 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 18 May 2020 14:10:05 +0000 (00:10 +1000)
commitd7b14c5c042865070a1411078ab49ea17bad0b41
tree35bb0b32fea8fb00ffe4b2bd904534a37aa8ef97
parentdff681e95a23f28b3c688a8bd5535f78bd726bc8
powerpc/pseries/ras: fwnmi sreset should not interlock

PAPR does not specify that fwnmi sreset should be interlocked, and
PowerVM (and therefore now QEMU) do not require it.

These "ibm,nmi-interlock" calls are ignored by firmware, but there
is a possibility that the sreset could have interrupted a machine
check and release the machine check's interlock too early, corrupting
it if another machine check came in.

This is an extremely rare case, but it should be fixed for clarity
and reducing the code executed in the sreset path. Firmware also
does not provide error information for the sreset case to look at, so
remove that comment.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Use __be64 to silence some sparse warnings]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200508043408.886394-9-npiggin@gmail.com
arch/powerpc/platforms/pseries/ras.c