diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2014-10-16 12:17:44 +0300 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2014-10-22 11:07:08 +0300 |
commit | 63cec5a22c13a80d80cb38acdb5b555eafb74ddc (patch) | |
tree | 2bd1590b918ee76e10223a9ac1a9bf365e000a4b | |
parent | 22500c19e6dc1a7c897323eff040364289bce0b7 (diff) |
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 <tomi.valkeinen@ti.com>
-rw-r--r-- | drivers/video/fbdev/omap2/omapfb/omapfb-main.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/video/fbdev/omap2/omapfb/omapfb-main.c b/drivers/video/fbdev/omap2/omapfb/omapfb-main.c index 10207daf41fe..a04096a63cb1 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++) |