From: Farhan Ali <[email protected]> Remove the FH_MASK_ENABLE check when disabling interrupt forwarding during device reset. This check was broken for the default case in the switch statement above, preventing proper cleanup of interrupt forwarding.
The pbdev->aif check in s390_pci_kvm_aif_disable() already guards against double-disabling of interrupt forwarding. Cc: [email protected] Reported-by: Niklas Schnelle <[email protected]> Signed-off-by: Farhan Ali <[email protected]> Reviewed-by: Matthew Rosato <[email protected]> Tested-by: Omar Elghoul <[email protected]> Message-ID: <[email protected]> Signed-off-by: Cornelia Huck <[email protected]> (cherry picked from commit 442f727b8bebabf20a4f6a7536a4ff2885402030) Signed-off-by: Michael Tokarev <[email protected]> diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index 4de7b587e8..eb2b6185db 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -1504,7 +1504,7 @@ static void s390_pci_device_reset(DeviceState *dev) break; } - if (pbdev->interp && (pbdev->fh & FH_MASK_ENABLE)) { + if (pbdev->interp) { /* Interpreted devices were using interrupt forwarding */ s390_pci_kvm_aif_disable(pbdev); } else if (pbdev->summary_ind) { -- 2.47.3
