aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@nokia.com>2009-12-08 10:30:24 -0500
committerTomi Valkeinen <tomi.valkeinen@nokia.com>2010-01-08 08:32:19 -0500
commit7475e44246e8a7c435a7ed8fe1e94fc8898685d9 (patch)
tree43b5322121e82a09c2507d2b85b7b9ed6cf2ef99
parentdfc0fd8d8850ef11951ba6c251e06096d1b5a0bd (diff)
OMAP: DSS2: Fix crash when panel doesn't define enable_te()
DSI driver didn't check if the panel driver actually implements enable_te(). Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-rw-r--r--drivers/video/omap2/dss/dsi.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index 03f85df70749..e32a53c0889f 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -2932,11 +2932,15 @@ static int dsi_set_update_mode(struct omap_dss_device *dssdev,
2932 2932
2933static int dsi_set_te(struct omap_dss_device *dssdev, bool enable) 2933static int dsi_set_te(struct omap_dss_device *dssdev, bool enable)
2934{ 2934{
2935 int r; 2935 int r = 0;
2936 r = dssdev->driver->enable_te(dssdev, enable); 2936
2937 /* XXX for some reason, DSI TE breaks if we don't wait here. 2937 if (dssdev->driver->enable_te) {
2938 * Panel bug? Needs more studying */ 2938 r = dssdev->driver->enable_te(dssdev, enable);
2939 msleep(100); 2939 /* XXX for some reason, DSI TE breaks if we don't wait here.
2940 * Panel bug? Needs more studying */
2941 msleep(100);
2942 }
2943
2940 return r; 2944 return r;
2941} 2945}
2942 2946