summaryrefslogtreecommitdiff
path: root/arch/arm64/kvm/psci.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm64/kvm/psci.c')
-rw-r--r--arch/arm64/kvm/psci.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm64/kvm/psci.c b/arch/arm64/kvm/psci.c
index 505e148ed1b9..a433c3eac9b7 100644
--- a/arch/arm64/kvm/psci.c
+++ b/arch/arm64/kvm/psci.c
@@ -367,14 +367,14 @@ static int kvm_psci_1_x_call(struct kvm_vcpu *vcpu, u32 minor)
if (minor >= 1) {
arg = smccc_get_arg1(vcpu);
- if (arg > PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET &&
- arg < PSCI_1_1_RESET_TYPE_VENDOR_START) {
- val = PSCI_RET_INVALID_PARAMS;
- } else {
+ if (arg <= PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET ||
+ arg >= PSCI_1_1_RESET_TYPE_VENDOR_START) {
kvm_psci_system_reset2(vcpu);
- val = PSCI_RET_INTERNAL_FAILURE;
- ret = 0;
+ vcpu_set_reg(vcpu, 0, PSCI_RET_INTERNAL_FAILURE);
+ return 0;
}
+
+ val = PSCI_RET_INVALID_PARAMS;
break;
}
fallthrough;