diff options
author | William Katsak <william.katsak@alcatel-lucent.com> | 2011-06-23 09:16:29 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-06-24 04:08:44 -0400 |
commit | 9377c51752970c305fae29ac634501fde44378cb (patch) | |
tree | 1d5bacbef3ea636fc644a664a683e264384f5472 /drivers/video/udlfb.c | |
parent | 2bceec57fa7d660dffd4fbe423d84411cafb1acf (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.c | 8 |
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, |