diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-06-06 04:45:59 -0400 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2009-06-09 17:41:26 -0400 |
commit | 1f803ee5cea67d2387aeedb4b07e645a743729de (patch) | |
tree | 4eec806dcc444bec0482d3e67ba1d2f2e06c1e0b | |
parent | 5f26a2c7ad6eba97141e8372f3def282f934b169 (diff) |
drm/i915: Call drm_vblank_post_modeset() on error paths.
Ensure that the drm_vblank_pre_modeset() is always balanced by
drm_vblank_post_modeset() within intel_crtc_mode_set().
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index c5c45827ca01..a87eeffc2c8d 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -1598,6 +1598,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
1598 | ok = limit->find_pll(limit, crtc, adjusted_mode->clock, refclk, &clock); | 1598 | ok = limit->find_pll(limit, crtc, adjusted_mode->clock, refclk, &clock); |
1599 | if (!ok) { | 1599 | if (!ok) { |
1600 | DRM_ERROR("Couldn't find PLL settings for mode!\n"); | 1600 | DRM_ERROR("Couldn't find PLL settings for mode!\n"); |
1601 | drm_vblank_post_modeset(dev, pipe); | ||
1601 | return -EINVAL; | 1602 | return -EINVAL; |
1602 | } | 1603 | } |
1603 | 1604 | ||
@@ -1858,12 +1859,9 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
1858 | 1859 | ||
1859 | /* Flush the plane changes */ | 1860 | /* Flush the plane changes */ |
1860 | ret = intel_pipe_set_base(crtc, x, y, old_fb); | 1861 | ret = intel_pipe_set_base(crtc, x, y, old_fb); |
1861 | if (ret != 0) | ||
1862 | return ret; | ||
1863 | |||
1864 | drm_vblank_post_modeset(dev, pipe); | 1862 | drm_vblank_post_modeset(dev, pipe); |
1865 | 1863 | ||
1866 | return 0; | 1864 | return ret; |
1867 | } | 1865 | } |
1868 | 1866 | ||
1869 | /** Loads the palette/gamma unit for the CRTC with the prepared values */ | 1867 | /** Loads the palette/gamma unit for the CRTC with the prepared values */ |