KVM: s390: use WARN_ON_ONCE only for checking
authorDavid Hildenbrand <david@redhat.com>
Wed, 30 Aug 2017 16:06:01 +0000 (18:06 +0200)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Thu, 31 Aug 2017 11:49:39 +0000 (13:49 +0200)
Move the real logic that always has to be executed out of the
WARN_ON_ONCE.

Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20170830160603.5452-3-david@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/kvm/interrupt.c

index a619dda..a832ad0 100644 (file)
@@ -2479,6 +2479,7 @@ void kvm_s390_reinject_machine_check(struct kvm_vcpu *vcpu,
        struct kvm_s390_mchk_info *mchk;
        union mci mci;
        __u64 cr14 = 0;         /* upper bits are not used */
+       int rc;
 
        mci.val = mcck_info->mcic;
        if (mci.sr)
@@ -2496,12 +2497,13 @@ void kvm_s390_reinject_machine_check(struct kvm_vcpu *vcpu,
        if (mci.ck) {
                /* Inject the floating machine check */
                inti.type = KVM_S390_MCHK;
-               WARN_ON_ONCE(__inject_vm(vcpu->kvm, &inti));
+               rc = __inject_vm(vcpu->kvm, &inti);
        } else {
                /* Inject the machine check to specified vcpu */
                irq.type = KVM_S390_MCHK;
-               WARN_ON_ONCE(kvm_s390_inject_vcpu(vcpu, &irq));
+               rc = kvm_s390_inject_vcpu(vcpu, &irq);
        }
+       WARN_ON_ONCE(rc);
 }
 
 int kvm_set_routing_entry(struct kvm *kvm,