diff --git a/drivers/gpu/drm/i915/display/intel_overlay.c b/drivers/gpu/drm/i915/display/intel_overlay.c index 10a235ce608e..37c60c08dd56 100644 --- a/drivers/gpu/drm/i915/display/intel_overlay.c +++ b/drivers/gpu/drm/i915/display/intel_overlay.c @@ -1554,13 +1554,11 @@ static void i915_overlay_cleanup(struct drm_device *drm) void intel_overlay_cleanup(struct intel_display *display) { - struct intel_overlay *overlay; - - overlay = fetch_and_zero(&display->overlay); - if (!overlay) + if (!display->overlay) return; i915_overlay_cleanup(display->drm); - kfree(overlay); + kfree(display->overlay); + display->overlay = NULL; }