summaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
authorAndrew Kephart2010-12-13 16:46:34 +0100
committerPaul Mundt2010-12-14 10:03:49 +0100
commite504b84805c574cf18d705c610c9e4a8f6e61017 (patch)
tree94b9f060a2dcde8efb171b5ab5c514cfb0c445f0 /drivers/video
parentMerge branches 'x86-fixes-for-linus', 'perf-fixes-for-linus' and 'sched-fixes... (diff)
downloadkernel-qcow2-linux-e504b84805c574cf18d705c610c9e4a8f6e61017.tar.gz
kernel-qcow2-linux-e504b84805c574cf18d705c610c9e4a8f6e61017.tar.xz
kernel-qcow2-linux-e504b84805c574cf18d705c610c9e4a8f6e61017.zip
fbdev: Fix fb_find_nearest_mode refresh comparison
Refresh rate nearness is not calculated or reset when nearest resolution changes. This patch resets the refresh rate differential measurement whenever a new nearest resolution is discovered. This fixes two error cases; first, wherein the first mode's refresh rate differential is never calculated and second, when the closest refresh rate from a previous nearest resolution is erroneously preserved. Signed-off-by: Andrew Kephart <andrew.kephart@alereon.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/modedb.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c
index 0a4dbdc1693a..de450c1fb869 100644
--- a/drivers/video/modedb.c
+++ b/drivers/video/modedb.c
@@ -855,6 +855,7 @@ const struct fb_videomode *fb_find_nearest_mode(const struct fb_videomode *mode,
abs(cmode->yres - mode->yres);
if (diff > d) {
diff = d;
+ diff_refresh = abs(cmode->refresh - mode->refresh);
best = cmode;
} else if (diff == d) {
d = abs(cmode->refresh - mode->refresh);