OMAP: DSS2: OMAPFB: fix crash when panel driver was not loaded
authorTomi Valkeinen <tomi.valkeinen@nokia.com>
Thu, 7 Jan 2010 15:45:03 +0000 (17:45 +0200)
committerTomi Valkeinen <tomi.valkeinen@nokia.com>
Tue, 12 Jan 2010 10:10:55 +0000 (12:10 +0200)
If the panel's probe had failed, omapfb would still go on, eventually
crashing.

A better fix would be to handle each display properly, and leaving just
the failed display out. But that is a bigger change.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
drivers/video/omap2/omapfb/omapfb-main.c

index e61a75c3135837a9323c02971317266fb5d15049..d17caef6915a96006c97c04f9e9768f88515ca2a 100644 (file)
@@ -2115,6 +2115,11 @@ static int omapfb_probe(struct platform_device *pdev)
        dssdev = NULL;
        for_each_dss_dev(dssdev) {
                omap_dss_get_device(dssdev);
+               if (!dssdev->driver) {
+                       dev_err(&pdev->dev, "no driver for display\n");
+                       r = -EINVAL;
+                       goto cleanup;
+               }
                fbdev->displays[fbdev->num_displays++] = dssdev;
        }