powerpc/pseries/lpar: add missing RTAS retry status handling
authorNathan Lynch <nathanl@linux.ibm.com>
Fri, 10 Feb 2023 18:41:51 +0000 (12:41 -0600)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 13 Feb 2023 11:35:01 +0000 (22:35 +1100)
commitdaa8ab59044610aa8ef2ee45a6c157b5e11635e9
tree7aecdbb8b89837d1818928c0fef9bbdc59c0f0f7
parentcc4b26eab1859fa1a70711872caaf6414809973f
powerpc/pseries/lpar: add missing RTAS retry status handling

The ibm,get-system-parameter RTAS function may return -2 or 990x,
which indicate that the caller should try again.

pseries_lpar_read_hblkrm_characteristics() ignores this, making it
possible to incorrectly detect TLB block invalidation characteristics
at boot.

Move the RTAS call into a coventional rtas_busy_delay()-based loop.

Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Fixes: 1211ee61b4a8 ("powerpc/pseries: Read TLB Block Invalidate Characteristics")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20230125-b4-powerpc-rtas-queue-v3-3-26929c8cce78@linux.ibm.com
arch/powerpc/platforms/pseries/lpar.c