File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -303,11 +303,6 @@ static inline u8 gisa_get_ipm_or_restore_iam(struct kvm_s390_gisa_interrupt *gi)
303303 return 0 ;
304304}
305305
306- static inline int gisa_in_alert_list (struct kvm_s390_gisa * gisa )
307- {
308- return READ_ONCE (gisa -> next_alert ) != (u32 )virt_to_phys (gisa );
309- }
310-
311306static inline void gisa_set_ipm_gisc (struct kvm_s390_gisa * gisa , u32 gisc )
312307{
313308 set_bit_inv (IPM_BIT_OFFSET + gisc , (unsigned long * ) gisa );
@@ -3216,11 +3211,12 @@ void kvm_s390_gisa_destroy(struct kvm *kvm)
32163211
32173212 if (!gi -> origin )
32183213 return ;
3219- if (gi -> alert .mask )
3220- KVM_EVENT (3 , "vm 0x%pK has unexpected iam 0x%02x" ,
3221- kvm , gi -> alert .mask );
3222- while (gisa_in_alert_list (gi -> origin ))
3223- cpu_relax ();
3214+ WARN (gi -> alert .mask != 0x00 ,
3215+ "unexpected non zero alert.mask 0x%02x" ,
3216+ gi -> alert .mask );
3217+ gi -> alert .mask = 0x00 ;
3218+ if (gisa_set_iam (gi -> origin , gi -> alert .mask ))
3219+ process_gib_alert_list ();
32243220 hrtimer_cancel (& gi -> timer );
32253221 gi -> origin = NULL ;
32263222 VM_EVENT (kvm , 3 , "gisa 0x%pK destroyed" , gisa );
You can’t perform that action at this time.
0 commit comments