Loading arch/s390/kvm/interrupt.c +6 −10 Original line number Diff line number Diff line Loading @@ -303,11 +303,6 @@ static inline u8 gisa_get_ipm_or_restore_iam(struct kvm_s390_gisa_interrupt *gi) return 0; } static inline int gisa_in_alert_list(struct kvm_s390_gisa *gisa) { return READ_ONCE(gisa->next_alert) != (u32)virt_to_phys(gisa); } static inline void gisa_set_ipm_gisc(struct kvm_s390_gisa *gisa, u32 gisc) { set_bit_inv(IPM_BIT_OFFSET + gisc, (unsigned long *) gisa); Loading Loading @@ -3216,11 +3211,12 @@ void kvm_s390_gisa_destroy(struct kvm *kvm) if (!gi->origin) return; if (gi->alert.mask) KVM_EVENT(3, "vm 0x%pK has unexpected iam 0x%02x", kvm, gi->alert.mask); while (gisa_in_alert_list(gi->origin)) cpu_relax(); WARN(gi->alert.mask != 0x00, "unexpected non zero alert.mask 0x%02x", gi->alert.mask); gi->alert.mask = 0x00; if (gisa_set_iam(gi->origin, gi->alert.mask)) process_gib_alert_list(); hrtimer_cancel(&gi->timer); gi->origin = NULL; VM_EVENT(kvm, 3, "gisa 0x%pK destroyed", gisa); Loading Loading
arch/s390/kvm/interrupt.c +6 −10 Original line number Diff line number Diff line Loading @@ -303,11 +303,6 @@ static inline u8 gisa_get_ipm_or_restore_iam(struct kvm_s390_gisa_interrupt *gi) return 0; } static inline int gisa_in_alert_list(struct kvm_s390_gisa *gisa) { return READ_ONCE(gisa->next_alert) != (u32)virt_to_phys(gisa); } static inline void gisa_set_ipm_gisc(struct kvm_s390_gisa *gisa, u32 gisc) { set_bit_inv(IPM_BIT_OFFSET + gisc, (unsigned long *) gisa); Loading Loading @@ -3216,11 +3211,12 @@ void kvm_s390_gisa_destroy(struct kvm *kvm) if (!gi->origin) return; if (gi->alert.mask) KVM_EVENT(3, "vm 0x%pK has unexpected iam 0x%02x", kvm, gi->alert.mask); while (gisa_in_alert_list(gi->origin)) cpu_relax(); WARN(gi->alert.mask != 0x00, "unexpected non zero alert.mask 0x%02x", gi->alert.mask); gi->alert.mask = 0x00; if (gisa_set_iam(gi->origin, gi->alert.mask)) process_gib_alert_list(); hrtimer_cancel(&gi->timer); gi->origin = NULL; VM_EVENT(kvm, 3, "gisa 0x%pK destroyed", gisa); Loading