diff options
author | Jon Mayo <jmayo@nvidia.com> | 2011-07-14 17:33:02 -0700 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-07-18 17:42:26 -0700 |
commit | 71de3279bd16b9fd0dea219be6135ad6d360afc4 (patch) | |
tree | 81d5811314e4c0ead4ec8e683ccf146e15937703 | |
parent | 57e8c3d1e56e833c915021aa03c6494d4e3ed90d (diff) |
tegra: video: dc: prevent division by zero
Do not pass 0 to PICOS2KHZ() macro, as it causes Division by zero in kernel.
Bug 850852
Change-Id: Ice913aaf756719aaf49bf6fab54b5f1618fb07d5
Reviewed-on: http://git-master/r/41116
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
-rw-r--r-- | drivers/video/tegra/dc/dc.c | 3 | ||||
-rw-r--r-- | drivers/video/tegra/dc/hdmi.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c index 919aa2e43a0e..9e78bb657b3e 100644 --- a/drivers/video/tegra/dc/dc.c +++ b/drivers/video/tegra/dc/dc.c @@ -1337,6 +1337,9 @@ int tegra_dc_set_fb_mode(struct tegra_dc *dc, { struct tegra_dc_mode mode; + if (!fbmode->pixclock) + return -EINVAL; + mode.pclk = PICOS2KHZ(fbmode->pixclock) * 1000; mode.h_sync_width = fbmode->hsync_len; mode.v_sync_width = fbmode->vsync_len; diff --git a/drivers/video/tegra/dc/hdmi.c b/drivers/video/tegra/dc/hdmi.c index 66950adbf1cf..5bcf3debc193 100644 --- a/drivers/video/tegra/dc/hdmi.c +++ b/drivers/video/tegra/dc/hdmi.c @@ -683,6 +683,9 @@ static bool tegra_dc_hdmi_mode_filter(const struct tegra_dc *dc, int i; int clock_per_frame; + if (!mode->pixclock) + return false; + for (i = 0; i < ARRAY_SIZE(tegra_dc_hdmi_supported_modes); i++) { const struct fb_videomode *supported_mode = &tegra_dc_hdmi_supported_modes[i]; |