diff options
author | Tomi Valkeinen <tomi.valkeinen@nokia.com> | 2010-01-07 17:45:03 +0200 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@nokia.com> | 2010-01-12 12:10:55 +0200 |
commit | 807a7515aea421f2b340140482ed4c8811c523c6 (patch) | |
tree | f8ab9e4a19ad7dbf072303b7b3cbda2b3a6f6fe0 /drivers | |
parent | 2d9c5597ad1408885fdef5838aa27a8a0ee9e915 (diff) | |
download | linux-807a7515aea421f2b340140482ed4c8811c523c6.tar.bz2 |
OMAP: DSS2: OMAPFB: fix crash when panel driver was not loaded
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/omap2/omapfb/omapfb-main.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c index e61a75c31358..d17caef6915a 100644 --- a/drivers/video/omap2/omapfb/omapfb-main.c +++ b/drivers/video/omap2/omapfb/omapfb-main.c @@ -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; } |