File tree Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -4120,17 +4120,18 @@ static void virtual_context_destroy(struct kref *kref)
4120
4120
for (n = 0 ; n < ve -> num_siblings ; n ++ ) {
4121
4121
struct intel_engine_cs * sibling = ve -> siblings [n ];
4122
4122
struct rb_node * node = & ve -> nodes [sibling -> id ].rb ;
4123
+ unsigned long flags ;
4123
4124
4124
4125
if (RB_EMPTY_NODE (node ))
4125
4126
continue ;
4126
4127
4127
- spin_lock_irq (& sibling -> active .lock );
4128
+ spin_lock_irqsave (& sibling -> active .lock , flags );
4128
4129
4129
4130
/* Detachment is lazily performed in the execlists tasklet */
4130
4131
if (!RB_EMPTY_NODE (node ))
4131
4132
rb_erase_cached (node , & sibling -> execlists .virtual );
4132
4133
4133
- spin_unlock_irq (& sibling -> active .lock );
4134
+ spin_unlock_irqrestore (& sibling -> active .lock , flags );
4134
4135
}
4135
4136
GEM_BUG_ON (__tasklet_is_scheduled (& ve -> base .execlists .tasklet ));
4136
4137
You can’t perform that action at this time.
0 commit comments