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 <redacted>
---
diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c
index c3a1825..7a61ba6 100644
--- a/drivers/video/modedb.c
+++ b/drivers/video/modedb.c
@@ -902,6 +902,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);