2022-06-28 16:47:32

by Guiling Deng

[permalink] [raw]
Subject: [PATCH] fbdev: fbmem: Fix logo center image dx issue

Image.dx gets wrong value because of missing '()'.

If xres == logo->width and n == 1, image.dx = -16.

Signed-off-by: Guiling Deng <[email protected]>
---
drivers/video/fbdev/core/fbmem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c
index c4a18322dee9..1fd2bdb11266 100644
--- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c
@@ -511,7 +511,7 @@ static int fb_show_logo_line(struct fb_info *info, int rotate,

while (n && (n * (logo->width + 8) - 8 > xres))
--n;
- image.dx = (xres - n * (logo->width + 8) - 8) / 2;
+ image.dx = (xres - (n * (logo->width + 8) - 8)) / 2;
image.dy = y ?: (yres - logo->height) / 2;
} else {
image.dx = 0;
--
2.25.1


2022-06-30 07:27:55

by Helge Deller

[permalink] [raw]
Subject: Re: [PATCH] fbdev: fbmem: Fix logo center image dx issue

On 6/28/22 18:36, Guiling Deng wrote:
> Image.dx gets wrong value because of missing '()'.
>
> If xres == logo->width and n == 1, image.dx = -16.
>
> Signed-off-by: Guiling Deng <[email protected]>

Nice catch!

applied to the fbdev tree.

Thanks,
Helge

> ---
> drivers/video/fbdev/core/fbmem.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c
> index c4a18322dee9..1fd2bdb11266 100644
> --- a/drivers/video/fbdev/core/fbmem.c
> +++ b/drivers/video/fbdev/core/fbmem.c
> @@ -511,7 +511,7 @@ static int fb_show_logo_line(struct fb_info *info, int rotate,
>
> while (n && (n * (logo->width + 8) - 8 > xres))
> --n;
> - image.dx = (xres - n * (logo->width + 8) - 8) / 2;
> + image.dx = (xres - (n * (logo->width + 8) - 8)) / 2;
> image.dy = y ?: (yres - logo->height) / 2;
> } else {
> image.dx = 0;