Re: [PATCH 15/29] mx3fb: use display information in info not in var for panning

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 26 May 2011, Laurent Pinchart wrote:

> We must not use any information in the passed var besides xoffset,
> yoffset and vmode as otherwise applications might abuse it. Also use the
> aligned fix.line_length and not the (possible) unaligned xres_virtual.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> Cc: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
> ---
>  drivers/video/mx3fb.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/video/mx3fb.c b/drivers/video/mx3fb.c
> index 7e3a490..759e244 100644
> --- a/drivers/video/mx3fb.c
> +++ b/drivers/video/mx3fb.c
> @@ -1062,15 +1062,15 @@ static int mx3fb_pan_display(struct fb_var_screeninfo *var,
>  	y_bottom = var->yoffset;
>  
>  	if (!(var->vmode & FB_VMODE_YWRAP))
> -		y_bottom += var->yres;
> +		y_bottom += fbi->var.yres;
>  
>  	if (y_bottom > fbi->var.yres_virtual)
>  		return -EINVAL;
>  
>  	mutex_lock(&mx3_fbi->mutex);
>  
> -	offset = (var->yoffset * var->xres_virtual + var->xoffset) *
> -		(var->bits_per_pixel / 8);
> +	offset = var->yoffset * fbi->fix.line_length
> +	       + var->xoffset * (var->bits_per_pixel / 8);

Didn't you mean

+	       + var->xoffset * (fbi->var.bits_per_pixel / 8);

With this fix:

Tested-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>

(tested using http://git.ideasonboard.org/?p=fbdev-test.git;a=summary)

Thanks
Guennadi

>  	base = fbi->fix.smem_start + offset;
>  
>  	dev_dbg(fbi->device, "Updating SDC BG buf %d address=0x%08lX\n",
> -- 
> 1.7.3.4
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Tourism]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux