]> Git Repo - linux.git/commitdiff
KVM: s390: clear floating interrupt bitmap and parameters
authorJens Freimann <[email protected]>
Mon, 22 Jun 2015 11:20:12 +0000 (13:20 +0200)
committerPaolo Bonzini <[email protected]>
Tue, 23 Jun 2015 15:02:39 +0000 (17:02 +0200)
commit 6d3da24141 ("KVM: s390: deliver floating interrupts in order
of priority") introduced a regression for the reset handling.

We don't clear the bitmap of pending floating interrupts
and interrupt parameters. This could result in stale interrupts
even after a reset. Let's fix this by clearing the pending bitmap
and the parameters for service and machine check interrupts.

Cc: [email protected] # 4.1
Signed-off-by: Jens Freimann <[email protected]>
Signed-off-by: Christian Borntraeger <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
arch/s390/kvm/interrupt.c

index 322ef9cfdc80b65a3359eb9c3ab9dd8ee5adb227..480b9750e15e021ef63122d5ebe26b846cbc8f63 100644 (file)
@@ -1621,6 +1621,9 @@ void kvm_s390_clear_float_irqs(struct kvm *kvm)
        int i;
 
        spin_lock(&fi->lock);
+       fi->pending_irqs = 0;
+       memset(&fi->srv_signal, 0, sizeof(fi->srv_signal));
+       memset(&fi->mchk, 0, sizeof(fi->mchk));
        for (i = 0; i < FIRQ_LIST_COUNT; i++)
                clear_irq_list(&fi->lists[i]);
        for (i = 0; i < FIRQ_MAX_COUNT; i++)
This page took 0.044917 seconds and 4 git commands to generate.