]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
ppc/xics: Fix stale irq->status bits after get
authorSam Bobroff <sam.bobroff@au1.ibm.com>
Thu, 27 Apr 2017 06:31:53 +0000 (16:31 +1000)
committerDavid Gibson <david@gibson.dropbear.id.au>
Wed, 10 May 2017 23:45:15 +0000 (09:45 +1000)
ics_get_kvm_state() "or"s set bits into irq->status but does not mask
out clear bits.

Correct this by initializing the IRQ status to zero before adding bits
to it.

Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/intc/xics_kvm.c

index 42e0e0ef84840758be5c281a31af6ecd0062aee1..03c1fc77cbf18f089dfb5ef356d0992fac974601 100644 (file)
@@ -213,6 +213,7 @@ static void ics_get_kvm_state(ICSState *ics)
             irq->priority = irq->saved_priority;
         }
 
+        irq->status = 0;
         if (state & KVM_XICS_PENDING) {
             if (state & KVM_XICS_LEVEL_SENSITIVE) {
                 irq->status |= XICS_STATUS_ASSERTED;