KVM: s390: fix sigp sense running condition code handling
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 26 Jun 2012 14:06:38 +0000 (16:06 +0200)
committerMarcelo Tosatti <mtosatti@redhat.com>
Tue, 3 Jul 2012 17:55:34 +0000 (14:55 -0300)
Only if the sensed cpu is not running a status is stored, which
is reflected by condition code 1. If the cpu is running, condition
code 0 should be returned.
Just the opposite of what the code is doing.

Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
arch/s390/kvm/sigp.c

index fda1d64f15eec14d81ac4d26e5e0ff4f229480c0..caccc0ee9cee66c2a605ea2efc64ee0b9e6211ab 100644 (file)
@@ -268,12 +268,12 @@ static int __sigp_sense_running(struct kvm_vcpu *vcpu, u16 cpu_addr,
                if (atomic_read(fi->local_int[cpu_addr]->cpuflags)
                    & CPUSTAT_RUNNING) {
                        /* running */
-                       rc = 1;
+                       rc = 0;
                } else {
                        /* not running */
                        *reg &= 0xffffffff00000000UL;
                        *reg |= SIGP_STATUS_NOT_RUNNING;
-                       rc = 0;
+                       rc = 1;
                }
        }
        spin_unlock(&fi->lock);