aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index c161ace7132..b27202d23eb 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4094,6 +4094,7 @@ static void intel_unpin_work_fn(struct work_struct *__work)
4094 4094
4095 mutex_lock(&work->dev->struct_mutex); 4095 mutex_lock(&work->dev->struct_mutex);
4096 i915_gem_object_unpin(work->old_fb_obj); 4096 i915_gem_object_unpin(work->old_fb_obj);
4097 drm_gem_object_unreference(work->pending_flip_obj);
4097 drm_gem_object_unreference(work->old_fb_obj); 4098 drm_gem_object_unreference(work->old_fb_obj);
4098 mutex_unlock(&work->dev->struct_mutex); 4099 mutex_unlock(&work->dev->struct_mutex);
4099 kfree(work); 4100 kfree(work);
@@ -4221,8 +4222,9 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
4221 return ret; 4222 return ret;
4222 } 4223 }
4223 4224
4224 /* Reference the old fb object for the scheduled work. */ 4225 /* Reference the objects for the scheduled work. */
4225 drm_gem_object_reference(work->old_fb_obj); 4226 drm_gem_object_reference(work->old_fb_obj);
4227 drm_gem_object_reference(obj);
4226 4228
4227 crtc->fb = fb; 4229 crtc->fb = fb;
4228 i915_gem_object_flush_write_domain(obj); 4230 i915_gem_object_flush_write_domain(obj);