File tree Expand file tree Collapse file tree 2 files changed +4
-0
lines changed Expand file tree Collapse file tree 2 files changed +4
-0
lines changed Original file line number Diff line number Diff line change @@ -903,6 +903,7 @@ void i915_gem_init__contexts(struct drm_i915_private *i915)
903
903
void i915_gem_driver_release__contexts (struct drm_i915_private * i915 )
904
904
{
905
905
flush_work (& i915 -> gem .contexts .free_work );
906
+ rcu_barrier (); /* and flush the left over RCU frees */
906
907
}
907
908
908
909
static int gem_context_register (struct i915_gem_context * ctx ,
Original file line number Diff line number Diff line change @@ -667,6 +667,9 @@ void intel_gt_driver_release(struct intel_gt *gt)
667
667
668
668
void intel_gt_driver_late_release (struct intel_gt * gt )
669
669
{
670
+ /* We need to wait for inflight RCU frees to release their grip */
671
+ rcu_barrier ();
672
+
670
673
intel_uc_driver_late_release (& gt -> uc );
671
674
intel_gt_fini_requests (gt );
672
675
intel_gt_fini_reset (gt );
You can’t perform that action at this time.
0 commit comments