From: Tomi Valkeinen Date: Fri, 29 May 2015 08:06:07 +0000 (+0300) Subject: drm: omapdrm: if omap_plane_atomic_update fails, disable plane X-Git-Tag: v4.2-rc1~13^2~16^2~3 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=794a65ffba77f63ecfc7d23ca6406cc23deab202;p=karo-tx-linux.git 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 Acked-by: Laurent Pinchart --- 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); }