2008-01-27 11:35:27

by Michal Januszewski

[permalink] [raw]
Subject: [PATCH] uvesafb: don't treat valid modes returned by fb_find_mode() as errors

From: Michal Januszewski <[email protected]>

Don't treat valid modes returned by fb_find_mode() (best-fit modes,
default modes or the first valid mode) as errors.

Signed-off-by: Michal Januszewski <[email protected]>
---
diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c
index a14ef89..fc68b3e 100644
--- a/drivers/video/uvesafb.c
+++ b/drivers/video/uvesafb.c
@@ -885,7 +885,7 @@ static int __devinit uvesafb_vbe_init_mode(struct fb_info *info)
}

/* fb_find_mode() failed */
- if (i == 0 || i >= 3) {
+ if (i == 0) {
info->var.xres = 640;
info->var.yres = 480;
mode = (struct fb_videomode *)


2008-03-06 06:55:09

by Andrew Morton

[permalink] [raw]
Subject: Re: [Linux-fbdev-devel] [PATCH] uvesafb: don't treat valid modes returned by fb_find_mode() as errors

On Sun, 27 Jan 2008 12:34:56 +0100 Michal Januszewski <[email protected]> wrote:

> From: Michal Januszewski <[email protected]>
>
> Don't treat valid modes returned by fb_find_mode() (best-fit modes,
> default modes or the first valid mode) as errors.
>

This changelog is too brief.

> ---
> diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c
> index a14ef89..fc68b3e 100644
> --- a/drivers/video/uvesafb.c
> +++ b/drivers/video/uvesafb.c
> @@ -885,7 +885,7 @@ static int __devinit uvesafb_vbe_init_mode(struct fb_info *info)
> }
>
> /* fb_find_mode() failed */
> - if (i == 0 || i >= 3) {
> + if (i == 0) {
> info->var.xres = 640;
> info->var.yres = 480;
> mode = (struct fb_videomode *)
>

Because I cannot tell what are the consequences of the bug which you're
fixing, hence I cannot tell whether we need this fix in 2.6.25 or even
2.6.24.

2008-03-16 11:24:01

by Michal Januszewski

[permalink] [raw]
Subject: [PATCH] uvesafb: don't treat valid modes returned by fb_find_mode() as errors

From: Michal Januszewski <[email protected]>

Don't treat valid modes returned by fb_find_mode() (best-fit modes,
default modes or the first valid mode) as errors.

Currently, when fb_find_mode() finds a valid mode belonging to one
of the above-mentioned classes, uvesafb will ignore it and will try
to set a 640x480 video mode. The expected behaviour (introduced by
this patch) would be to use the valid mode returned by fb_find_mode()
instead.

Signed-off-by: Michal Januszewski <[email protected]>
---
As requested, this patch contains an expanded changelog message. The
bug is by no means critical and should have no impact on the large
majority of users, so it's definitely not 2.6.24 material.

diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c
index a14ef89..fc68b3e 100644
--- a/drivers/video/uvesafb.c
+++ b/drivers/video/uvesafb.c
@@ -885,7 +885,7 @@ static int __devinit uvesafb_vbe_init_mode(struct fb_info *info)
}

/* fb_find_mode() failed */
- if (i == 0 || i >= 3) {
+ if (i == 0) {
info->var.xres = 640;
info->var.yres = 480;
mode = (struct fb_videomode *)