File tree Expand file tree Collapse file tree 1 file changed +6
-10
lines changed Expand file tree Collapse file tree 1 file changed +6
-10
lines changed 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)
303
303
return 0 ;
304
304
}
305
305
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
-
311
306
static inline void gisa_set_ipm_gisc (struct kvm_s390_gisa * gisa , u32 gisc )
312
307
{
313
308
set_bit_inv (IPM_BIT_OFFSET + gisc , (unsigned long * ) gisa );
@@ -3216,11 +3211,12 @@ void kvm_s390_gisa_destroy(struct kvm *kvm)
3216
3211
3217
3212
if (!gi -> origin )
3218
3213
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 ();
3224
3220
hrtimer_cancel (& gi -> timer );
3225
3221
gi -> origin = NULL ;
3226
3222
VM_EVENT (kvm , 3 , "gisa 0x%pK destroyed" , gisa );
You can’t perform that action at this time.
0 commit comments