aboutsummaryrefslogtreecommitdiff
path: root/linux-core/drm_fb.c
diff options
context:
space:
mode:
authorAlan Hourihane <alanh@fairlite.demon.co.uk>2007-05-17 17:00:11 +0100
committerAlan Hourihane <alanh@fairlite.demon.co.uk>2007-05-17 17:00:11 +0100
commitfd63ea971322246734fca5977a800c3ef51cc3fe (patch)
tree843f9e1e945ac5f4f01fc461099f1f9de3608fcc /linux-core/drm_fb.c
parent2222bd767f9fc02d05ebd0f35a8ceeff2f032c94 (diff)
Grab the default mode if the preferred mode isn't available.
Fix an overflow problem.
Diffstat (limited to 'linux-core/drm_fb.c')
-rw-r--r--linux-core/drm_fb.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/linux-core/drm_fb.c b/linux-core/drm_fb.c
index 27d80d7a..118967bf 100644
--- a/linux-core/drm_fb.c
+++ b/linux-core/drm_fb.c
@@ -351,7 +351,9 @@ int drmfb_probe(struct drm_device *dev, struct drm_crtc *crtc)
info->var.vsync_len = mode->vsync_end - mode->vsync_start;
info->var.upper_margin = mode->vtotal - mode->vsync_end;
info->var.pixclock = 10000000 / mode->htotal * 1000 /
- mode->vtotal * 100000 / mode->vrefresh;
+ mode->vtotal * 100;
+ /* avoid overflow */
+ info->var.pixclock = info->var.pixclock * 1000 / mode->vrefresh;
DRM_DEBUG("fb depth is %d\n", fb->depth);
switch(fb->depth) {