On 15/01/2021 09:00, Nathan Lynch wrote:
There's not a compelling reason to cache the value of the token for
the ibm,suspend-me function. Just look it up when needed in the RTAS
syscall's special case for it.

Signed-off-by: Nathan Lynch <nath...@linux.ibm.com>


Reviewed-by: Alexey Kardashevskiy <a...@ozlabs.ru>


---
  arch/powerpc/kernel/rtas.c | 7 ++-----
  1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
index d126d71ea5bd..60fcf7f7b0b8 100644
--- a/arch/powerpc/kernel/rtas.c
+++ b/arch/powerpc/kernel/rtas.c
@@ -828,7 +828,6 @@ void rtas_activate_firmware(void)
                pr_err("ibm,activate-firmware failed (%i)\n", fwrc);
  }
-static int ibm_suspend_me_token = RTAS_UNKNOWN_SERVICE;
  #ifdef CONFIG_PPC_PSERIES
  /**
   * rtas_call_reentrant() - Used for reentrant rtas calls
@@ -1103,7 +1102,7 @@ SYSCALL_DEFINE1(rtas, struct rtas_args __user *, uargs)
                return -EINVAL;
/* Need to handle ibm,suspend_me call specially */
-       if (token == ibm_suspend_me_token) {
+       if (token == rtas_token("ibm,suspend-me")) {
/*
                 * rtas_ibm_suspend_me assumes the streamid handle is in cpu
@@ -1191,10 +1190,8 @@ void __init rtas_initialize(void)
         * the stop-self token if any
         */
  #ifdef CONFIG_PPC64
-       if (firmware_has_feature(FW_FEATURE_LPAR)) {
+       if (firmware_has_feature(FW_FEATURE_LPAR))
                rtas_region = min(ppc64_rma_size, RTAS_INSTANTIATE_MAX);
-               ibm_suspend_me_token = rtas_token("ibm,suspend-me");
-       }
  #endif
        rtas_rmo_buf = memblock_phys_alloc_range(RTAS_RMOBUF_MAX, PAGE_SIZE,
                                                 0, rtas_region);


--
Alexey

Reply via email to