diff options
author | Andrew Kephart <andrew.kephart@alereon.com> | 2010-12-13 09:46:34 -0600 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-12-14 18:03:49 +0900 |
commit | e504b84805c574cf18d705c610c9e4a8f6e61017 (patch) | |
tree | 94b9f060a2dcde8efb171b5ab5c514cfb0c445f0 | |
parent | 6313e3c21743cc88bb5bd8aa72948ee1e83937b6 (diff) | |
download | linux-3.10-e504b84805c574cf18d705c610c9e4a8f6e61017.tar.gz linux-3.10-e504b84805c574cf18d705c610c9e4a8f6e61017.tar.bz2 linux-3.10-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>
-rw-r--r-- | drivers/video/modedb.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c index 0a4dbdc1693..de450c1fb86 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); |