diff --git a/arch/arm64/kvm/hyp/nvhe/psci-relay.c b/arch/arm64/kvm/hyp/nvhe/psci-relay.c index 85f7cad956d5..1a4d2a67b813 100644 --- a/arch/arm64/kvm/hyp/nvhe/psci-relay.c +++ b/arch/arm64/kvm/hyp/nvhe/psci-relay.c @@ -307,10 +307,8 @@ static unsigned long psci_1_0_handler(u64 func_id, struct kvm_cpu_context *host_ case PSCI_1_1_FN64_SYSTEM_RESET2: pkvm_clear_pvmfw_pages(); hyp_spin_lock(&mem_protect_lock); - if (psci_mem_protect_active()) { - return psci_0_2_handler(PSCI_0_2_FN_SYSTEM_RESET, - host_ctxt); - } + if (psci_mem_protect_active()) + cpu_reg(host_ctxt, 0) = PSCI_0_2_FN_SYSTEM_RESET; fallthrough; case PSCI_1_0_FN_PSCI_FEATURES: case PSCI_1_0_FN_SET_SUSPEND_MODE: