diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 4 |
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 c161ace7132d..b27202d23ebc 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); |