diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-11-14 02:28:59 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-12-07 08:12:40 -0500 |
commit | 71c7a97289571ef5246b7f20d60b44961144c82f (patch) | |
tree | 94f65d9b575740d62b0c0b7da8a087e4c2ee0b2e | |
parent | fc8ac777ae39409e81f7dd2d123d980c0dfb528e (diff) |
[media] omap_vout: fix crash if no driver for a display
omap_vout crashes on start if a corresponding driver is not loaded for a
display device.
This patch changes omap_vout init sequence to skip devices without a
driver.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/video/omap/omap_vout.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/media/video/omap/omap_vout.c b/drivers/media/video/omap/omap_vout.c index 9c5c19f142de..2d2a136e465e 100644 --- a/drivers/media/video/omap/omap_vout.c +++ b/drivers/media/video/omap/omap_vout.c | |||
@@ -2169,6 +2169,14 @@ static int __init omap_vout_probe(struct platform_device *pdev) | |||
2169 | vid_dev->num_displays = 0; | 2169 | vid_dev->num_displays = 0; |
2170 | for_each_dss_dev(dssdev) { | 2170 | for_each_dss_dev(dssdev) { |
2171 | omap_dss_get_device(dssdev); | 2171 | omap_dss_get_device(dssdev); |
2172 | |||
2173 | if (!dssdev->driver) { | ||
2174 | dev_warn(&pdev->dev, "no driver for display: %s\n", | ||
2175 | dssdev->name); | ||
2176 | omap_dss_put_device(dssdev); | ||
2177 | continue; | ||
2178 | } | ||
2179 | |||
2172 | vid_dev->displays[vid_dev->num_displays++] = dssdev; | 2180 | vid_dev->displays[vid_dev->num_displays++] = dssdev; |
2173 | } | 2181 | } |
2174 | 2182 | ||