[Intel-gfx] [PATCH 2/2] drm/i915: fixup interrupted overlay switch off calls

Andrew Lutomirski luto at mit.edu
Mon Nov 30 14:34:12 CET 2009


On Sat, Apr 25, 2037 at 3:08 AM, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> When switching to interruptible sleeps in the overlay code, I've
> forgotten to recover from interruptions at one site.  This
> resulted in the overlay still running when it should have been
> switched off. This in turn caused a hang on resume because it
> tried to disable the (after resume not-running) overlay in preparation
> for the resume modeset.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=24980
> Tested-by: maximlevitsky at gmail.com
>
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>  drivers/gpu/drm/i915/intel_overlay.c |    9 ++++++---
>  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 d18f563..1e4557a 100644
> --- a/drivers/gpu/drm/i915/intel_overlay.c
> +++ b/drivers/gpu/drm/i915/intel_overlay.c
> @@ -880,12 +880,15 @@ int intel_overlay_switch_off(struct intel_overlay *overlay)
>        BUG_ON(!mutex_is_locked(&dev->struct_mutex));
>        BUG_ON(!mutex_is_locked(&dev->mode_config.mutex));
>
> +       if (overlay->hw_wedged) {
> +               ret = intel_overlay_recover_from_interrupt(overlay, 1);
> +               if (ret != 0)
> +                       return;

return ret?

--Andy



More information about the Intel-gfx mailing list