aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/intel_overlay.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
index b97c5c562aa1..49110b3aab6a 100644
--- a/drivers/gpu/drm/i915/intel_overlay.c
+++ b/drivers/gpu/drm/i915/intel_overlay.c
@@ -842,12 +842,15 @@ int intel_overlay_switch_off(struct intel_overlay *overlay)
842 BUG_ON(!mutex_is_locked(&dev->struct_mutex)); 842 BUG_ON(!mutex_is_locked(&dev->struct_mutex));
843 BUG_ON(!mutex_is_locked(&dev->mode_config.mutex)); 843 BUG_ON(!mutex_is_locked(&dev->mode_config.mutex));
844 844
845 if (overlay->hw_wedged) {
846 ret = intel_overlay_recover_from_interrupt(overlay, 1);
847 if (ret != 0)
848 return ret;
849 }
850
845 if (!overlay->active) 851 if (!overlay->active)
846 return 0; 852 return 0;
847 853
848 if (overlay->hw_wedged)
849 return -EBUSY;
850
851 ret = intel_overlay_release_old_vid(overlay); 854 ret = intel_overlay_release_old_vid(overlay);
852 if (ret != 0) 855 if (ret != 0)
853 return ret; 856 return ret;