From: Tomi Valkeinen Date: Thu, 16 Oct 2014 09:17:44 +0000 (+0300) Subject: OMAPFB: fix overlay disable when freeing resources. X-Git-Tag: v3.18-rc3~29^2^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=63cec5a22c13a80d80cb38acdb5b555eafb74ddc;p=thirdparty%2Fkernel%2Flinux.git OMAPFB: fix overlay disable when freeing resources. When omapfb is shutting down, it will disable all the overlays. However, instead of actually disabling all the overlays, it disables only all the overlays that are currently attached to framebuffers. On OMAP4+, this leaves the fourth overlay left enabled. Fix the loop so that we actually go through all the overlays. Signed-off-by: Tomi Valkeinen --- diff --git a/drivers/video/fbdev/omap2/omapfb/omapfb-main.c b/drivers/video/fbdev/omap2/omapfb/omapfb-main.c index 10207daf41fe7..a04096a63cb16 100644 --- a/drivers/video/fbdev/omap2/omapfb/omapfb-main.c +++ b/drivers/video/fbdev/omap2/omapfb/omapfb-main.c @@ -1833,14 +1833,10 @@ static void omapfb_free_resources(struct omapfb2_device *fbdev) if (fbdev == NULL) return; - for (i = 0; i < fbdev->num_fbs; i++) { - struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]); - int j; + for (i = 0; i < fbdev->num_overlays; i++) { + struct omap_overlay *ovl = fbdev->overlays[i]; - for (j = 0; j < ofbi->num_overlays; j++) { - struct omap_overlay *ovl = ofbi->overlays[j]; - ovl->disable(ovl); - } + ovl->disable(ovl); } for (i = 0; i < fbdev->num_fbs; i++)