OMAPFB: fix overlay disable when freeing resources.
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 16 Oct 2014 09:17:44 +0000 (12:17 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 22 Oct 2014 08:07:08 +0000 (11:07 +0300)
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 <tomi.valkeinen@ti.com>
drivers/video/fbdev/omap2/omapfb/omapfb-main.c

index 10207daf41fe781ffe908ab7ee4fa0d44a47b2c4..a04096a63cb165337efb07b007b8d40dc597d9ef 100644 (file)
@@ -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++)