diff options
| -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); |
