aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/udlfb.c
diff options
context:
space:
mode:
authorWilliam Katsak <william.katsak@alcatel-lucent.com>2011-06-23 09:16:29 -0400
committerPaul Mundt <lethal@linux-sh.org>2011-06-24 04:08:44 -0400
commit9377c51752970c305fae29ac634501fde44378cb (patch)
tree1d5bacbef3ea636fc644a664a683e264384f5472 /drivers/video/udlfb.c
parent2bceec57fa7d660dffd4fbe423d84411cafb1acf (diff)
udlfb: Correct sub-optimal resolution selection.
The situation in which the problem occurred was with a Plugable UGA-2K-A connected to a Samsung EX2220X display. The driver indicates that 1920x1080 is a valid mode (the first mode available, in fact), but proceeds to set the framebuffer size to 1600x1200. The patch corrects what seems to be a logic error, regarding unsetting the FB_MISC_1ST_DETAIL flag, if the first (top/best) mode is invalid. The existing code unset the flag if ANY mode was invalid. Signed-off-by: William Katsak <william.katsak@alcatel-lucent.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/video/udlfb.c')
-rw-r--r--drivers/video/udlfb.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/video/udlfb.c b/drivers/video/udlfb.c
index 52b0f3e8ccac..816a4fda04f5 100644
--- a/drivers/video/udlfb.c
+++ b/drivers/video/udlfb.c
@@ -1233,8 +1233,12 @@ static int dlfb_setup_modes(struct dlfb_data *dev,
1233 if (dlfb_is_valid_mode(&info->monspecs.modedb[i], info)) 1233 if (dlfb_is_valid_mode(&info->monspecs.modedb[i], info))
1234 fb_add_videomode(&info->monspecs.modedb[i], 1234 fb_add_videomode(&info->monspecs.modedb[i],
1235 &info->modelist); 1235 &info->modelist);
1236 else /* if we've removed top/best mode */ 1236 else {
1237 info->monspecs.misc &= ~FB_MISC_1ST_DETAIL; 1237 if (i == 0)
1238 /* if we've removed top/best mode */
1239 info->monspecs.misc
1240 &= ~FB_MISC_1ST_DETAIL;
1241 }
1238 } 1242 }
1239 1243
1240 default_vmode = fb_find_best_display(&info->monspecs, 1244 default_vmode = fb_find_best_display(&info->monspecs,