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
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;