Laurent, Le 14/06/2011 11:24, Laurent Pinchart : > We must not use any information in the passed var besides xoffset, > yoffset and vmode as otherwise applications might abuse it. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> > --- > drivers/video/atmel_lcdfb.c | 15 +++++++++------ > 1 files changed, 9 insertions(+), 6 deletions(-) > > diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c > index 4484c72..8b5d755 100644 > --- a/drivers/video/atmel_lcdfb.c > +++ b/drivers/video/atmel_lcdfb.c > @@ -39,7 +39,8 @@ > | FBINFO_HWACCEL_YPAN) > > static inline void atmel_lcdfb_update_dma2d(struct atmel_lcdfb_info *sinfo, > - struct fb_var_screeninfo *var) > + struct fb_var_screeninfo *var, > + struct fb_info *info) > { > > } > @@ -50,14 +51,16 @@ static inline void atmel_lcdfb_update_dma2d(struct atmel_lcdfb_info *sinfo, > | FBINFO_HWACCEL_YPAN) > > static void atmel_lcdfb_update_dma2d(struct atmel_lcdfb_info *sinfo, > - struct fb_var_screeninfo *var) > + struct fb_var_screeninfo *var, > + struct fb_info *info) > { > u32 dma2dcfg; > u32 pixeloff; > > - pixeloff = (var->xoffset * var->bits_per_pixel) & 0x1f; > + pixeloff = (var->xoffset * info->var.bits_per_pixel) & 0x1f; > > - dma2dcfg = ((var->xres_virtual - var->xres) * var->bits_per_pixel) / 8; > + dma2dcfg = (info-var.xres_virtual - info->var.xres) ------------------------^^^ Wolfram Sang identified this error: it cannot compile! Thank you Wolfram. > + * info->var.bits_per_pixel / 8; > dma2dcfg |= pixeloff << ATMEL_LCDC_PIXELOFF_OFFSET; > lcdc_writel(sinfo, ATMEL_LCDC_DMA2DCFG, dma2dcfg); > > @@ -249,14 +252,14 @@ static void atmel_lcdfb_update_dma(struct fb_info *info, > unsigned long dma_addr; > > dma_addr = (fix->smem_start + var->yoffset * fix->line_length > - + var->xoffset * var->bits_per_pixel / 8); > + + var->xoffset * info->var.bits_per_pixel / 8); > > dma_addr &= ~3UL; > > /* Set framebuffer DMA base address and pixel offset */ > lcdc_writel(sinfo, ATMEL_LCDC_DMABADDR1, dma_addr); > > - atmel_lcdfb_update_dma2d(sinfo, var); > + atmel_lcdfb_update_dma2d(sinfo, var, info); > } > > static inline void atmel_lcdfb_free_video_memory(struct atmel_lcdfb_info *sinfo) *When* the error will be corrected, you can submit it to linux-fbdev with my: Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Thanks, best regards, -- Nicolas Ferre -- 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