diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2015-05-29 11:06:07 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2015-06-12 22:52:51 +0300 |
commit | 794a65ffba77f63ecfc7d23ca6406cc23deab202 (patch) | |
tree | ee79b06e7d5db8063c39707c13b02287d4eed1db /drivers/gpu/drm/omapdrm/omap_plane.c | |
parent | 11ffd031e3e5b9cc0232aad549bb08eb14612f43 (diff) | |
download | linux-794a65ffba77f63ecfc7d23ca6406cc23deab202.tar.xz |
drm: omapdrm: if omap_plane_atomic_update fails, disable plane
omap_plane_atomic_update() calls dispc_ovl_setup(), which can fail (but
shouldn't). To make the code a bit more robust, make sure the plane gets
disabled if dispc_ovl_setup() fails, as otherwise we might get illegal
HW configuration leading to error interrupts.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_plane.c')
-rw-r--r-- | drivers/gpu/drm/omapdrm/omap_plane.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c index b13fb2fd4a9a..cfa8276c4deb 100644 --- a/drivers/gpu/drm/omapdrm/omap_plane.c +++ b/drivers/gpu/drm/omapdrm/omap_plane.c @@ -132,8 +132,10 @@ static void omap_plane_atomic_update(struct drm_plane *plane, /* and finally, update omapdss: */ ret = dispc_ovl_setup(omap_plane->id, &info, false, omap_crtc_timings(state->crtc), false); - if (WARN_ON(ret)) + if (WARN_ON(ret)) { + dispc_ovl_enable(omap_plane->id, false); return; + } dispc_ovl_enable(omap_plane->id, true); } |