summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJon Mayo <jmayo@nvidia.com>2011-07-14 17:33:02 -0700
committerVarun Colbert <vcolbert@nvidia.com>2011-07-18 17:42:26 -0700
commit71de3279bd16b9fd0dea219be6135ad6d360afc4 (patch)
tree81d5811314e4c0ead4ec8e683ccf146e15937703 /drivers
parent57e8c3d1e56e833c915021aa03c6494d4e3ed90d (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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/tegra/dc/dc.c3
-rw-r--r--drivers/video/tegra/dc/hdmi.c3
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];